While the macOS graphical System Settings provides elementary power sliders for display timeout and low power mode, modern Apple Silicon and Intel Mac systems contain complex underlying power management subsystems governed by the I/O Kit framework. These subsystems regulate subtle behaviours including Power Nap, TCP keep-alive pings, standby delays, proximity wake states, and automated scheduled startups. To inspect and reconfigure these low-level power states directly, system administrators and advanced Mac users rely on the native command-line utility pmset (Power Management Settings).
Using pmset via Terminal, you can prevent unwanted sleep cycles during long-running background tasks, configure distinct energy profiles for battery versus AC wall power, schedule automatic daily boots or shutdowns, and troubleshoot erratic overnight battery drains. This guide demonstrates how to audit current power configurations, adjust sleep parameters, and automate system schedules.
Checking Current Power Management Settings with pmset
Before adjusting any parameters, review your Mac’s active power management state by running:
pmset -g
This command outputs the active power profile. On MacBooks, pmset supports different operating scopes denoted by power sources:
-c: Wall power / AC adapter settings.-b: Battery power settings.-u: UPS (Uninterruptible Power Supply) settings.-a: All power sources simultaneously.
To inspect current power sources and battery charge levels, run:
pmset -g batt
To view which background applications or system assertions are currently preventing your Mac from sleeping (such as media players, active downloads, or backup daemons), execute:
pmset -g assertions
Understanding Key pmset Parameters
The pmset -g output displays multiple integer values representing minutes or binary flags (0 = disabled, 1 = enabled):
sleep: System sleep timer (in minutes). A value of0disables system sleep entirely.displaysleep: Display idle sleep timer (in minutes). Setting this lower thansleepallows the screen to turn off while background computing continues.disksleep: Idle timer before spinning down mechanical hard drives (largely negligible on modern solid-state Mac storage).womp: Wake On Magic Packet / Wake on LAN. Allows remote management tools to wake the Mac via ethernet.powernap: Allows the Mac to periodically wake silently to check for emails, calendar updates, and iCloud backups while sleeping.tcpkeepalive: Maintains active network socket connections during sleep. Disabling this can save battery life during transit, though it suspends Find My Mac location beaconing.proximitywake: Wakes the Mac from sleep when an unlocked companion iPhone or Apple Watch approaches.hibernatemode: Controls sleep memory retention (0= basic RAM sleep,3= safe sleep copying RAM to SSD,25= pure hibernation powering off RAM completely).
How to Modify Power and Sleep Configurations
Modifying system-wide power settings requires superuser privileges using sudo:
1. Setting Display and System Sleep Timers
To configure your Mac to turn off the display after 10 minutes and sleep the system after 30 minutes while on battery, execute:
sudo pmset -b displaysleep 10 sleep 30
To prevent system sleep entirely while connected to AC power, set the sleep timer to zero:
sudo pmset -c sleep 0
2. Eliminating Overnight Battery Drain on MacBooks
If your MacBook experiences excessive battery drain while the lid is closed overnight, you can disable network wake requests and Power Nap during sleep:
sudo pmset -b powernap 0
sudo pmset -b womp 0
sudo pmset -b proximitywake 0
3. Adjusting Standby and Hibernation Delays
On battery power, macOS transitions from light sleep into deep standby after a designated duration to conserve power. You can increase or decrease this delay using standbydelayhigh and standbydelaylow (measured in seconds):
sudo pmset -b standbydelayhigh 10800
This sets a 3-hour (10,800 seconds) buffer before deep standby engages when battery charge is above the high threshold.
How to Schedule Automated Startup, Wake, and Shutdown
One of the most powerful administrative features of pmset is the ability to schedule recurring or one-time hardware power events across days of the week (abbreviated as M, T, W, R, F, S, U):
To view any currently active power schedules, execute:
pmset -g sched
Scheduling Daily Automated Wake or Power On
To configure your Mac to automatically power on or wake from sleep every weekday morning at 07:30 AM:
sudo pmset repeat wakeorpoweron MTWRF 07:30:00
Scheduling Nightly Shutdown
To schedule an automatic daily shutdown every evening at 23:00 PM:
sudo pmset repeat shutdown MTWRFSU 23:00:00
Cancelling and Clearing Power Schedules
To cancel all active scheduled wake, sleep, and shutdown events:
sudo pmset repeat cancel
Resetting pmset to Factory System Defaults
If experimental configuration changes cause unpredictable sleep behaviour or prevent your display from dimming, you can restore standard macOS factory defaults with a single command:
sudo pmset -a restoredefaults
Mastering the pmset command empowers Mac users with complete, surgical control over hardware energy states, preventing interrupted rendering workloads and extending battery longevity across mobile MacBooks.