mac设置自动开关机

现在把mac当成服务器每天一直开着,也挺耗电的,而且大部分时候也是在空转待机,所以设置自动开关机还是很有必要的。定时开关机,也能让电脑休息一下。

mac自带了自动开关机功能,但是默认是关闭的,需要手动开启。开启方法如下:

打开终端,输入如下命令:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
```
sudo pmset repeat wakeorpoweron MTWRFSU 9:00:00 shutdown MTWRFSU 1:00:00
```

```

上面的命令表示,周一到周日,每天早上9点开机,凌晨1点关机,其中 MTWRFSU 是周一到周日每一天的缩写。

设置完成后,可以通过
`pmset -g sched`
来查看是否设置成功。

![](/images/blog/1742927620794_image_1.png)

如果想取消自动开关机,可以输入如下命令:

```bash

sudo pmset repeat cancel

  

下面来介绍一下pmset命令:

名称

pmset 
–
 
操作电源管理设置

概要

pmset [-a | -b | -c | -u] [设置值] […]

pmset 
-u
 [haltlevel 
百分比]
 [haltafter 
分钟]
 [haltremain 
分钟]

pmset 
-g
 [选项]

pmset 
schedule
 [cancel | cancelall] 
类型
 
日期+时间
 [所有者]

pmset 
repeat
 
cancel

pmset 
repeat
 
类型
 
星期几
 
时间

pmset 
relative
 [wake | poweron] 
秒数

pmset [touch | sleepnow | displaysleepnow | boot]

描述

pmset 
管理电源管理设置,例如空闲睡眠计时、在管理访问时唤醒、断电后自动重启等。

注意,进程可能通过使用 
I/O
 
Kit
 
电源断言动态覆盖这些电源管理设置。每当进程覆盖任何系统电源设置时,pmset
 
将在
 
-g
 
和
 
-g
 
assertions
 
中列出这些进程及其电源断言。参见
 
caffeinate
(8)
。

设置

pmset 
可以修改下面定义的任何电源管理设置的值。你可以在
 
pmset
 
的命令行调用中指定一个或多个设置和值对。-a、-b、-c、-u
 
标志确定设置是否适用于电池(-b)、充电器(墙电)(-c)、UPS(-u)或全部(-a)。

使用 
0
 
分钟的参数值来将睡眠空闲时间设置为永不睡眠磁盘睡眠和显示睡眠

必须以 
root
 
身份运行
 
pmset
 
才能修改任何设置。

设置项

displaysleep

显示睡眠计时器;替换
 
10.4
 
中的
 
‘dim’
 
参数

(值以分钟为单位,或 
0
 
以禁用)

disksleep

磁盘旋转计时器;替换
 
10.4
 
中的
 
‘spindown’
 
参数

(值以分钟为单位,或 
0
 
以禁用)

sleep

系统睡眠计时器(值以分钟为单位,或
 
0
 
以禁用)

womp

通过以太网魔术包唤醒(值

0/1)。与系统设置中的“网络访问唤醒”相同。

ring

通过调制解调器铃声唤醒(值

0/1)

powernap

在支持的机器上启用/禁用
 
Power
 
Nap(值

0/1)

proximitywake

在支持的系统上,此选项根据使用相同
 
iCloud
 
ID
 
的设备的接近程度控制系统从睡眠中唤醒。(值

0/1)

autorestart

断电后自动重启(值

0/1)

lidwake

当笔记本电脑盖(或蛤壳)打开时唤醒机器(值

0/1)

acwake

当电源源(交流/电池)更改时唤醒机器(值

0/1)

lessbright

在切换到此电源源时略微降低显示亮度(值

0/1)

halfdim

显示睡眠将使用介于全亮度和完全关闭之间的中间半亮度状态(值

0/1)

sms

使用突发运动传感器在
 
G
 
力突然变化时停放磁盘头(值

0/1)

hibernatemode

更改休眠模式。请小心使用。(值

整数)

hibernatefile

更改休眠图像文件位置。图像只能位于根卷上。请小心使用。(值

路径)

ttyskeepawake

当任何
 
tty(例如远程登录会话)处于“活动”状态时,防止空闲系统睡眠。只有当
 
tty
 
的空闲时间超过系统睡眠计时器时,tty
 
才被视为“不活动”。(值

0/1)

networkoversleep

此设置影响
 
OS
 
X
 
网络在系统睡眠期间如何呈现共享网络服务。并非所有平台都使用此设置;更改其值不受支持。

destroyfvkeyonstandby

进入待机模式时销毁
 
File
 
Vault
 
密钥。默认情况下,即使系统进入待机模式,File
 
Vault
 
密钥也会保留。如果销毁了密钥,用户将在退出待机模式时被提示输入密码。(值:1

销毁,0

保留)

获取设置内容

-g(无参数)将显示当前使用的设置。

-g 
live
 
显示当前使用的设置。

-g 
custom
 
显示所有电源源的自定义设置。

-g 
cap
 
显示机器支持的电源管理功能。

-g 
sched
 
显示计划的启动/唤醒和关闭/睡眠事件。

-g 
ups
 
显示
 
UPS
 
紧急阈值。

-g 
ps
 
/
 
batt
 
显示电池和
 
UPS
 
的状态。

-g 
pslog
 
显示电源源(电池和
 
UPS)状态的持续日志。

-g 
rawlog
 
显示直接从电池读取的电池状态的持续日志。

-g 
therm
 
显示影响
 
CPU
 
速度的热条件。并非所有平台都可用。

-g 
thermlog
 
显示影响
 
CPU
 
速度的热通知日志。并非所有平台都可用。

-g 
assertions
 
显示电源断言的摘要。断言可能会阻止系统睡眠或显示睡眠。10.6
 
及更高版本可用。

-g 
assertionslog
 
显示断言创建和释放的日志。10.6
 
及更高版本可用。

-g 
sysload
 
显示“系统负载建议”

从
 
IOGetSystemLoadAdvisory
 
API
 
获得的系统活动摘要。10.6
 
及更高版本可用。

-g 
sysloadlog
 
显示系统负载建议的实时变化日志。10.6
 
及更高版本可用。

-g 
ac
 
/
 
adapter
 
将显示附加的交流电源适配器的详细信息。仅支持
 
MacBook
 
和
 
MacBook
 
Pro。

-g 
log
 
显示睡眠、唤醒和其他电源管理事件的历史记录。此日志用于管理员和调试目的。

-g 
uuid
 
显示当前活动的睡眠/唤醒
 
UUID;在
 
OS
 
X
 
中用于关联一个睡眠周期内的睡眠/唤醒活动。历史记录

-g 
uuidlog
 
显示当前活动的睡眠/唤醒
 
UUID,并在系统设置新
 
UUID
 
时打印新的
 
UUID。

-g 
history
 
是一个调试工具。打印系统睡眠/唤醒
 
UUID
 
的时间线,当使用
 
boot-arg
 
io=
0x3000000
 
启用时。

-g 
historydetailed
 
传递
 
UUID
 
作为参数时,打印睡眠/唤醒的驱动层面时间。传递
 
UUID
 
作为参数。

-g 
powerstate
 [类名] 打印 I/O Kit 驱动程序的当前电源状态。调用者可以提供一个或多个 I/O Kit 类名(用空格分隔)作为参数。如果没有提供类,则打印所有驱动程序的电源状态。

-g 
powerstatelog
 [-i 
间隔]
 [类名] 定期打印一些驱动程序的电源状态驻留时间。调用者可以提供一个或多个 I/O Kit 类名(用空格分隔)。如果没有提供类,则记录 IOPower 平面的根注册表条目。调用者可以指定轮询间隔,以秒为单位,使用 -i <轮询间隔>;否则,默认为 5 秒。

-g 
stats
 
打印系统自启动以来的睡眠和唤醒次数。

-g 
systemstate
 
打印系统当前的电源状态和可用功能。

-g 
everything
 
打印
 
GETTING
 
标题下每个参数的输出。这有助于快速收集
 
pmset
 
提供的所有输出。10.8
 
版本可用。

安全睡眠参数

hibernatemode 
支持
 
0、3
 
或
 
25
 
的值。是否写入休眠镜像还取决于
 
standby
 
和
 
autopoweroff
 
的值。

例如,在支持待机的台式机上,会在指定的 
standbydelay
 
时间后写入休眠镜像。要完全禁用休眠镜像,请确保
 
hibernatemode
 
standby
 
和
 
autopoweroff
 
都设置为
 
0。

hibernatemode

0
 
是台式机的默认值。系统不会将内存备份到持久存储器。系统必须从内存内容中唤醒;系统将在断电时丢失上下文。这是历史上的普通睡眠。

hibernatemode

3
 
是便携设备的默认值。系统会在持久存储器(磁盘)上存储内存副本,并在睡眠期间为内存供电。系统将从内存中唤醒,除非断电迫使它从休眠镜像中恢复。

hibernatemode

25
 
只能通过
 
pmset
 
设置。系统会在持久存储器(磁盘)上存储内存副本,并切断内存电源。系统将从磁盘镜像中恢复。如果你想要有“休眠”

更慢的睡眠,更慢的唤醒,以及更好的电池寿命,你应该使用这个设置。

请注意,hibernatefile 
只能指向根卷上的文件。

待机参数

standby 
会导致内核电源管理在机器睡眠指定时间后自动将机器置于休眠状态。这在睡眠时节省电力。此设置默认为支持的硬件开启。如果机器支持此功能,standby
 
设置将在
 
pmset
 
-g
 
中可见。

standbydelayhigh 
和
 
standbydelaylow
 
指定在待机前写入休眠镜像到磁盘并关闭内存的延迟时间,以秒为单位。standbydelayhigh
 
在剩余电池容量高于
 
highstandbythreshold
 
时使用,standbydelaylow
 
在剩余电池容量低于
 
highstandbythreshold
 
时使用。

highstandbythreshold 
的默认值为
 
50%。

autopoweroff 
默认在支持的平台上启用,作为对欧洲能源相关产品指令的
 
Lot
 
6
 
的实施。在睡眠
 <
autopoweroffdela
y> 
秒后,系统将写入休眠镜像并进入更低功耗的芯片组睡眠状态。从这种状态唤醒将比从正常睡眠中唤醒需要更长的时间。

autopoweroffdelay 
指定在进入
 
autopoweroff
 
模式前的延迟时间,以秒为单位。

UPS特定参数

UPS 
特定参数仅在
 
-u
 
选项后有效。UPS
 
设置也有开/关值。使用
 
-1
 
参数代替百分比或分钟来关闭这些设置。如果指定了多个停止条件,系统将在低功耗情况下遇到的第一个条件时停止。

haltlevel

当
 
UPS
 
电池放电时,触发紧急关机的电池水平(百分比值)

haltafter

当
 
UPS
 
电池放电时,在使用
 
UPS
 
电源运行此长时间后触发紧急关机(分钟值,或
 
0
 
以禁用)

haltremain

当
 
UPS
 
电池放电时,当
 
UPS
 
估计剩余运行时间为此时触发紧急关机(分钟值,或
 
0
 
以禁用)

注意:这些设置在支持内部电池的系统上不生效,例如笔记本电脑。UPS 
紧急关机设置仅适用于台式机和服务器。

计划事件参数

pmset 
允许你安排系统睡眠、关闭、唤醒和/或开机。“schedule”用于设置一次性电源事件,“repeat”用于设置每天/每周的开机和关机事件。注意,你只能安排一对重复事件

一个“开机”事件和一个“关机”事件。对于睡眠循环应用程序,pmset
 
可以安排“相对”唤醒或开机,从系统睡眠/关机结束开始几秒钟内发生,但此事件不能取消,本质上是不精确的。

type

sleep,
 
wake,
 
poweron,
 
shutdown,
 
wakeorpoweron
 
之一

日期/时间

“MM/dd/yy HH:mm:ss”(24小时制;必须用引号括起来)

时间

HH:mm:ss

星期几

MTWRFSU
 
的一个子集(“M”
 
和
 
“MTWRF”
 
是有效的字符串)

所有者

描述安排此一次性电源事件的人或程序的字符串(可选)

电源源参数

-g 
与
 
‘batt’
 
或
 
‘ps’
 
参数一起使用,将显示所有附加的电源源的状态。

-g 
与
 
‘pslog’
 
或
 
‘rawlog’
 
参数一起使用,通常用于调试,例如隔离老化电池的问题。

其他参数

boot

告诉内核系统启动已完成(通常
 
LoginWindow
 
会这样做)。可能对
 
Darwin
 
用户有用。

touch

PM
 
重新从磁盘读取现有设置。

noidle

pmset
 
通过创建
 
PM
 
断言来防止空闲睡眠(在运行时;按
 
ctrl-c
 
取消)。这个参数已弃用,转而使用
 
caffeinate
(8)
。请改用
 
caffeinate
(8)
。

sleepnow

导致系统立即睡眠。

restoredefaults

将电源管理设置恢复为默认值。

displaysleepnow

导致显示器立即进入睡眠状态。

resetdisplayambientparams

重置某些
 
Apple
 
显示器的环境光参数。

dim

在
 
10.4
 
中被
 
‘displaysleep’
 
取代。‘dim’
 
将继续工作。

spindown

在
 
10.4
 
中被
 
‘disksleep’
 
取代。‘spindown’
 
将继续工作。

示例

此命令将电池电源上的 
displaysleep
 
设置为
 
5
 
分钟计时器,其他电池电源和其他电源源的设置保持不变。

pmset 
-b
 
displaysleep
 
5

将 
displaysleep
 
设置为
 
10,disksleep
 
设置为
 
10,系统睡眠设置为
 
30,并为所有电源(交流电、电池和
 
UPS)打开
 
WakeOnMagicPacket

pmset 
-a
 
displaysleep
 
10
 
disksleep
 
10
 
sleep
 
30
 
womp
 
1

对于连接并支持 
UPS
 
的系统,此命令指示系统在
 
UPS
 
电池放电至低于
 
40%
 
时执行紧急关机。

pmset 
-u
 
haltlevel
 
40

对于连接并支持 
UPS
 
的系统,此命令指示系统在
 
UPS
 
电池放电至低于
 
25%
 
或
 
UPS
 
估计剩余运行时间少于
 
30
 
分钟时执行紧急关机。系统将在任一条件满足时立即关机。

pmset 
-u
 
haltlevel
 
25
 
haltremain
 
30

对于连接并支持 
UPS
 
的系统,此命令指示系统在使用
 
UPS
 
电池电源运行
 
2
 
分钟后执行紧急关机。

pmset 
-u
 
haltafter
 
2

安排系统在 
2016
 
年
 
7
 
月
 
4
 
日晚上
 
8
 
点自动从睡眠中唤醒。

pmset 
schedule
 
wake
 
“07/04/16 20:00:00”

安排每天从星期二到星期六上午 
11
 
点重复关机。

pmset 
repeat
 
shutdown
 
TWRFS
 
11:00:00

安排每个星期二中午 
12
 
点重复唤醒或开机事件,以及每天晚上
 
8
 
点重复睡眠事件。

pmset 
repeat
 
wakeorpoweron
 
T
 
12:00:00
 
sleep
 
MTWRFSU
 
20:00:00

取消所有计划的系统睡眠、关机、唤醒和开机事件。

pmset 
repeat
 
cancel

打印系统使用的电源管理设置。

pmset 
-g

打印当前时刻的电池/电源源状态快照。

pmset 
-g
 
batt

如果你的系统在电池供电下突然睡眠,剩余容量在 
20-50%
 
之间,让这个命令在终端窗口中运行。当你看到问题并后来开机唤醒计算机时,你将能够检测到突然的不连续性(如从
 
30%
 
跳到
 
0%),这表明电池老化。

pmset 
-g
 
pslog

江达小记