文章目錄
- NAME
- 概要
- 描述
- SETTING
- SETTINGS
- GETTING
- 安全睡眠參數
- 待機參數
- UPS 專用參數
- 計劃事件參數
- 電源參數說明
- 其他參數
- 示例
- 另請參閱
- 文件
NAME
pmset – manipulate power management settings
概要
pmset [-a | -b | -c | -u] [setting value] [...]pmset -u [haltlevel percent] [haltafter minutes] [haltremain minutes]pmset -g [option]pmset schedule [cancel | cancelall] type date+time [owner]pmset repeat cancelpmset repeat type weekdays timepmset relative [wake | poweron] secondspmset [touch | sleepnow | displaysleepnow | boot]s
描述
pmset
用于管理電源管理設置,包括空閑休眠時間、管理訪問喚醒、斷電后自動重啟等功能。
需要注意的是,進程可能通過使用 I/O Kit 電源斷言動態覆蓋這些電源管理設置。當進程覆蓋任何系統電源設置時,pmset
會在 -g
和 -g assertions
中列出這些進程及其電源斷言。詳情請參閱 caffeinate(8)
。
SETTING
pmset 可以修改以下定義的任何電源管理設置值。在命令行調用 pmset 時,您可以指定一個或多個設置與值的組合。通過 -a
、-b
、-c
、-u
標志來確定這些設置是應用于電池 (-b
)、充電器 (交流電源) (-c
)、不間斷電源 (-u
) 還是所有情況 (-a
)。
對于 sleep、disksleep 和 displaysleep 設置,使用參數值 0 表示永不進入空閑狀態。
修改任何設置時,必須以 root 權限運行 pmset
。
SETTINGS
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
- 使用 Sudden Motion Sensor 在 G 力突變時停泊磁盤磁頭(取值 = 0/1)hibernatemode
- 更改休眠模式。請謹慎使用。(取值 = 整數)hibernatefile
- 更改休眠鏡像文件位置。鏡像只能位于根卷上。請謹慎使用。(取值 = 路徑)ttyskeepawake
- 當任何 tty(例如遠程登錄會話)處于“活動”狀態時阻止系統空閑睡眠。僅當 tty 的空閑時間超過系統睡眠計時器時才被視為“非活動”。(取值 = 0/1)networkoversleep
- 此設置影響 OS X 網絡在系統睡眠期間如何呈現共享網絡服務。并非所有平臺都使用此設置;更改其值不受支持。destroyfvkeyonstandby
- 進入待機模式時銷毀 File Vault 密鑰。默認情況下即使系統進入待機模式也會保留 File Vault 密鑰。如果密鑰被銷毀,用戶從待機模式恢復時需要輸入密碼。(取值:1 - 銷毀,0 - 保留)
GETTING
-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時打印。-g history
是一個調試工具。當啟用啟動參數io=0x3000000時,打印系統睡眠/喚醒UUID的時間線。-g historydetailed
打印睡眠/喚醒的驅動程序級時間。傳遞一個UUID作為參數。-g powerstate [類名]
打印I/O Kit驅動程序的當前電源狀態。調用者可以提供一個或多個I/O Kit類名(以空格分隔)作為參數。如果未提供類名,則打印所有驅動程序的電源狀態。-g powerstatelog [-i interval] [類名]
定期打印某些驅動程序的電源狀態駐留時間。調用者可以提供一個或多個I/O Kit類名(以空格分隔)。如果未提供類名,則記錄IOPower平面的根注冊表條目。
調用者可以使用-i <polling interval>
指定輪詢間隔(以秒為單位);否則默認為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
參數使內核電源管理在機器睡眠達到指定時間后自動進入休眠狀態。這能在睡眠期間節省電力。對于支持的硬件,此設置默認啟用。如果當前機器支持該功能,在 pmset -g
命令輸出中可以看到 standby
設置項。
standbydelayhigh
和 standbydelaylow
用于指定進入待機模式前,將休眠映像寫入磁盤并關閉內存電源的延遲時間(以秒為單位)。當剩余電池電量高于 highstandbythreshold
時使用 standbydelayhigh
,低于該閾值時則使用 standbydelaylow
。
highstandbythreshold
的默認值為 50%。
在支持的平臺上,autopoweroff
默認啟用以符合歐盟《能源相關產品指令》第6號方案的要求。系統在睡眠 <autopoweroffdelay>
秒后,會寫入休眠映像并進入更低功耗的芯片組睡眠狀態。
從該狀態喚醒所需時間比常規睡眠喚醒更長。
autopoweroffdelay
指定進入自動斷電模式前的延遲時間(以秒為單位)。
UPS 專用參數
UPS 專用參數僅在 -u
選項后有效。UPS 設置還具有啟用/禁用狀態。使用 -1
參數代替百分比或分鐘數可關閉任何設置。如果指定了多個關機條件,系統將在低電量情況下首個觸發的條件發生時執行關機。
haltlevel
- 當 UPS 電池放電時,觸發緊急關機的電池電量閾值(以百分比為單位)
haltafter
- 當 UPS 電池放電時,在持續運行此時間后觸發緊急關機(以分鐘為單位,0 表示禁用)
haltremain
- 當 UPS 電池放電時,在預估剩余電量時間達到此值時觸發緊急關機(以分鐘為單位,0 表示禁用)
注意:這些設置均不支持帶有內置電池的系統(例如筆記本電腦)。UPS 緊急關機設置僅適用于臺式機和服務器。
計劃事件參數
pmset 允許你安排系統睡眠、關機、喚醒和/或開機。
“schedule” 用于設置一次性電源事件;
“repeat” 用于設置每日/每周的開機和關機事件。
請注意,你只能安排一對重復事件——一個 “開機” 事件和一個 “關機” 事件。
對于睡眠循環應用,pmset 可以安排一個 “相對” 喚醒或開機事件,該事件將在系統睡眠/關機結束后的若干秒內觸發,但此事件無法取消且本質上不精確。
類型 - 可以是 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
- 通過創建PM斷言來阻止空閑睡眠(運行期間生效;按ctrl-c取消)。此參數已棄用,推薦使用caffeinate(8)。請改用caffeinate(8)。
sleepnow
- 立即讓系統進入睡眠狀態。
restoredefaults
- 將電源管理設置恢復為默認值。
displaysleepnow
- 立即讓顯示器進入睡眠狀態。
resetdisplayambientparams
- 重置特定Apple顯示器的環境光參數。
dim
- 在10.4版本中已棄用,改用 displaysleep
’。dim
仍可繼續使用。
spindown
- 在10.4版本中已棄用,改用 disksleep
。spindown
仍可繼續使用。
示例
此命令將電池供電時的顯示器休眠時間設置為5分鐘,同時保持電池供電和其他電源模式下的其他設置不變。
pmset -b displaysleep 5
將顯示睡眠設置為10,磁盤睡眠設置為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
另請參閱
caffeinate
(8)
文件
通過 pmset 所做的所有更改都會保存在一個 持久性偏好設置文件中(針對整個系統而非單個用戶),該文件位于 /Library/Preferences/SystemConfiguration/com.apple.PowerManagement.plist
計劃性的開機/關機事件則單獨存儲在 /Library/Preferences/SystemConfiguration/com.apple.AutoWake.plist
中
pmset 修改的文件與系統設置(System Settings)修改的是同一個文件。
2025-06-13(五)