Mac Developer Library Developer


This manual page is for Mac OS X version 10.9

If you are running a different version of Mac OS X, view the documentation locally:

  • In Terminal, using the man(1) command

Reading manual pages

Manual pages are intended as a quick reference for people who already understand a technology.

  • To learn how the manual is organized or to learn about command syntax, read the manual page for manpages(5).

  • For more information about this technology, look for other documentation in the Apple Developer Library.

  • For general information about writing shell scripts, read Shell Scripting Primer.

PMSET(1)                  BSD General Commands Manual                 PMSET(1)

     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] type date+time [owner]
     pmset repeat cancel
     pmset repeat type weekdays time
     pmset relative wake seconds
     pmset [touch | sleepnow | displaysleepnow | lock | boot]

     pmset manages power management settings such as idle sleep timing, wake on administrative access, auto-matic automatic
     matic restart on power loss, etc.

     Note that processes may dynamically override these power management settings by using I/O Kit power
     assertions.  Whenever processes override any system power settings, pmset will list those processes and
     their power assertions in -g and -g assertions. See caffeinate(8).

     pmset can modify the values of any of the power management settings defined below. You may specify one
     or more setting & value pairs on the command-line invocation of pmset.  The -a, -b, -c, -u flags deter-mine determine
     mine whether the settings apply to battery ( -b ), charger (wall power) ( -c ), UPS ( -u ) or all ( -a

     Use a minutes argument of 0 to set the idle time to never for sleep disksleep and displaysleep

     pmset must be run as root in order to modify any settings.

     displaysleep - display sleep timer; replaces 'dim' argument in 10.4 (value in minutes, or 0 to disable)
     disksleep - disk spindown timer; replaces 'spindown' argument in 10.4 (value in minutes, or 0 to dis-able) disable)
     sleep - system sleep timer (value in minutes, or 0 to disable)
     womp - wake on ethernet magic packet (value = 0/1)
     ring - wake on modem ring (value = 0/1)
     autorestart - automatic restart on power loss (value = 0/1)
     lidwake - wake the machine when the laptop lid (or clamshell) is opened (value = 0/1)
     acwake - wake the machine when power source (AC/battery) is changed (value = 0/1)
     lessbright - slightly turn down display brightness when switching to this power source (value = 0/1)
     halfdim - display sleep will use an intermediate half-brightness state between full brightness and
     fully off  (value = 0/1)
     sms - use Sudden Motion Sensor to park disk heads on sudden changes in G force (value = 0/1)
     hibernatemode - change hibernation mode. Please use caution. (value = integer)
     hibernatefile - change hibernation image file location. Image may only be located on the root volume.
     Please use caution. (value = path)
     ttyskeepawake - prevent idle system sleep when any tty (e.g. remote login session) is 'active'. A tty
     is 'inactive' only when its idle time exceeds the system sleep timer. (value = 0/1)
     networkoversleep - this setting affects how OS X networking presents shared network services during
     system sleep. This setting is not used by all platforms; changing its value is unsupported.
     destroyfvkeyonstandby - Destroy File Vault Key when going to standby mode. By default File vault keys
     are retained even when system goes to standby. If the keys are destroyed, user will be prompted to
     enter the password while coming out of standby mode.(value: 1 - Destroy, 0 - Retain)
     autopoweroff - Where supported, enabled per default as an implementation of Lot 6 to the European
     Energy-related Products Directive. After sleeping for <autopoweroffdelay> minutes, the system will
     write a hibernation image and go into a lower power chipset sleep. Wakeups from this state will take
     longer than wakeups from regular sleep. The system will not auto power off if any external devices are
     connected, if the system is on battery power, or if the system is bound to a network and wake for net-work network
     work access is enabled.
     autopoweroffdelay - delay before entering autopoweroff mode. (Value = integer, in minutes)

     -g (with no argument) will display the settings currently in use.
     -g live displays the settings currently in use.
     -g custom displays custom settings for all power sources.
     -g cap displays which power management features the machine supports.
     -g sched displays scheduled startup/wake and shutdown/sleep events.
     -g ups displays UPS emergency thresholds.
     -g ps / batt displays status of batteries and UPSs.
     -g pslog displays an ongoing log of power source (battery and UPS) state.
     -g rawlog displays an ongoing log of battery state as read directly from battery.
     -g therm shows thermal conditions that affect CPU speed. Not available on all platforms.
     -g thermlog shows a log of thermal notifications that affect CPU speed. Not available on all platforms.
     -g assertions displays a summary of power assertions. Assertions may prevent system sleep or display
     sleep. Available 10.6 and later.
     -g assertionslog shows a log of assertion creations and releases. Available 10.6 and later.
     -g sysload displays the "system load advisory" - a summary of system activity available from the IOGet-SystemLoadAdvisory IOGetSystemLoadAdvisory
     SystemLoadAdvisory API. Available 10.6 and later.
     -g sysloadlog displays an ongoing log of lives changes to the system load advisory. Available 10.6 and
     -g ac / adapter will display details about an attached AC power adapter. Only supported for MacBook and
     MacBook Pro.
     -g log displays a history of sleeps, wakes, and other power management events. This log is for admin &
     debugging purposes.
     -g uuid displays the currently active sleep/wake UUID; used within OS X to correlate sleep/wake activ-ity activity
     ity within one sleep cycle.  history
     -g uuidlog displays the currently active sleep/wake UUID, and prints a new UUID as they're set by the
     -g history is a debugging tool. Prints a timeline of system sleeplwake UUIDs, when enabled with boot-arg bootarg
     arg io=0x3000000.
     -g historydetailed Prints driver-level timings for a sleep/wake. Pass a UUID as an argument.
     -g powerstate [class names] Prints the current power states for I/O Kit drivers. Caller may provide one
     or more I/O Kit class names (separated by spaces) as an argument. If no classes are provided, it will
     print all drivers' power states.
     -g powerstatelog [-i interval] [class names] Periodically prints the power state residency times for
     some drivers. Caller may provide one or more I/O Kit class names (separated by spaces). If no classes
     are provided, it will log the IOPower plane's root registry entry. Caller may specify a polling inter-val, interval,
     val, in seconds with -i <polling interval>; otherwise it defaults to 5 seconds.
     -g stats Prints the counts for number sleeps and wakes system has gone thru since boot.
     -g systemstate Prints the current power state of the system and available capabilites.
     -g everything Prints output from every argument under the GETTING header. This is useful for quickly
     collecting all the output that pmset provides. Available in 10.8.

     hibernatemode takes a bitfield argument defining SafeSleep behavior. Passing 0 disables SafeSleep alto-gether, altogether,
     gether, forcing the computer into a regular sleep.

     ____ ___1 (bit 0) enables hibernation; causes OS X to write memory state to hibernation image at sleep
     time. On wake (without bit 1 set) OS X will resume from the hibernation image. Bit 0 set (without bit 1
     set) causes OS X to write memory state and immediately hibernate at sleep time.

     ____ __1_ (bit 1), in conjunction with bit 0, causes OS X to maintain system state in memory and leave
     system power on until battery level drops below a near empty threshold (This enables quicker wakeup
     from memory while battery power is available). Upon nearly emptying the battery, OS X shuts off all
     system power and hibernates; on wake the system will resume from hibernation image, not from memory.

     ____ 1___ (bit 3) encourages the dynamic pager to page out inactive pages prior to hibernation, for a
     smaller memory footprint.

     ___1 ____ (bit 4) encourages the dynamic pager to page out more aggressively prior to hibernation, for
     a smaller memory footprint.

     We do not recommend modifying hibernation settings. Any changes you make are not supported. If you
     choose to do so anyway, we recommend using one of these three settings. For your sake and mine, please
     don't use anything other 0, 3, or 25.

     hibernatemode = 0 (binary 0000) by default on supported desktops. The system will not back memory up to
     persistent storage. The system must wake from the contents of memory; the system will lose context on
     power loss. This is, historically, plain old sleep.

     hibernatemode = 3 (binary 0011) by default on supported portables. The system will store a copy of mem-ory memory
     ory to persistent storage (the disk), and will power memory during sleep. The system will wake from
     memory, unless a power loss forces it to restore from disk image.

     hibernatemode = 25 (binary 0001 1001) is only settable via pmset. The system will store a copy of mem-ory memory
     ory to persistent storage (the disk), and will remove power to memory. The system will restore from
     disk image. If you want "hibernation" - slower sleeps, slower wakes, and better battery life, you
     should use this setting.

     Please note that hibernatefile may only point to a file located on the root volume.

     standby causes kernel power management to automatically hibernate a machine after it has slept for a
     specified time period. This saves power while asleep. This setting defaults to ON for supported hard-ware. hardware.
     ware. The setting standby will be visible in pmset -g if the feature is supported on this machine.

     standby only works if hibernation is turned on to hibernatemode 3 or 25.

     standbydelay specifies the delay, in seconds, before writing the hibernation image to disk and powering
     off memory for Standby.

     UPS-specific arguments are only valid following the -u option. UPS settings also have an on/off value.
     Use a -1 argument instead of percent or minutes to turn any of these settings off. If multiple halt
     conditions are specified, the system will halt on the first condition that occurs in a low power situa-tion. situation.

     haltlevel - when draining UPS battery, battery level at which to trigger an emergency shutdown (value
     in %)
     haltafter - when draining UPS battery, trigger emergency shutdown after this long running on UPS power
     (value in minutes, or 0 to disable)
     haltremain - when draining UPS battery, trigger emergency shutdown when this much time remaining on UPS
     power is estimated (value in minutes, or 0 to disable)

     Note: None of these settings are observed on a system with support for an internal battery, such as a
     laptop. UPS emergency shutdown settings are for desktop and server only.

     pmset allows you to schedule system sleep, shutdown, wakeup and/or power on. "schedule" is for setting
     up one-time power events, and "repeat" is for setting up daily/weekly power on and power off events.
     Note that you may only have one pair of repeating events scheduled - a "power on" event and a "power
     off" event. For sleep cycling applications, pmset can schedule a "relative" wakeup to occur in seconds
     from the end of system sleep, but this event cannot be cancelled and is inherently imprecise.

     type - one of sleep, wake, poweron, shutdown, wakeorpoweron
     date/time - "MM/dd/yy HH:mm:ss" (in 24 hour format; must be in quotes)
     time - HH:mm:ss
     weekdays - a subset of MTWRFSU ("M" and "MTWRF" are valid strings)
     owner - a string describing the person or program who is scheduling this one-time power event

     -g with a 'batt' or 'ps' argument will show the state of all attached power sources.

     -g with a 'pslog' or 'rawlog' argument is normally used for debugging, such as isolating a problem with
     an aging battery.

     boot - tell the kernel that system boot is complete (normally LoginWindow does this). May be useful to
     Darwin users.
     force - tells PM to immediately activate these settings. Does not write them to disk, and the settings
     may easily be overwritten. Useful in circumstances where PM's configd plugin happens not to be running.
     touch - PM re-reads existing settings from disk.
     noidle - pmset prevents idle sleep my creating a PM assertion to prevent idle sleep(while running; hit
     ctrl-c to cancel). This argument is deprecated in favor of caffeinate(8). Please use caffeinate(8)
     sleepnow - causes an immediate system sleep
     displaysleepnow - causes display to go to sleep immediately
     resetdisplayambientparams - resets the ambient light parameters for certain Apple displays.
     dim - deprecated in 10.4 in favor of 'displaysleep'. 'dim' will continue to work.
     spindown - deprecated in 10.4 in favor of 'disksleep'. 'spindown' will continue to work.

     This command sets displaysleep to a 5 minute timer on battery power, leaving other settings on battery
     power and other power sources unperturbed.

     pmset -b displaysleep 5

     Sets displaysleep to 10, disksleep to 10, system sleep to 30, and turns on WakeOnMagicPacket for ALL
     power sources (AC, Battery, and UPS) as appropriate

     pmset -a displaysleep 10 disksleep 10 sleep 30 womp 1

     Restores the system's energy settings to their default values.

     For a system with an attached and supported UPS, this instructs the system to perform an emergency
     shutdown when UPS battery drains to below 40%.

     pmset -u haltlevel 40

     For a system with an attached and supported UPS, this instructs the system to perform an emergency
     shutdown when UPS battery drains to below 25%, or when the UPS estimates it has less than 30 minutes
     remaining runtime. The system shuts down as soon as either of these conditions is met.

     pmset -u haltlevel 25 haltremain 30

     For a system with an attached and supported UPS, this instructs the system to perform an emergency
     shutdown after 2 minutes of running on UPS battery power.

     pmset -u haltafter 2

     Schedules the system to automatically wake from sleep on July 4, 20016, at 8PM.

     pmset schedule wake "07/04/16 20:00:00"

     Schedules a repeating shutdown to occur each day, Tuesday through Saturday, at 11AM.

     pmset repeat shutdown TWRFS 11:00:00

     Schedules a repeating wake or power on event every tuesday at 12:00 noon, and a repeating sleep event
     every night at 8:00 PM.

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

     Prints the power management settings in use by the system.

     pmset -g

     Prints a snapshot of battery/power source state at the moment.

     pmset -g batt

     If your system suddenly sleeps on battery power with 20-50% of capacity remaining, leave this command
     running in a Terminal window. When you see the problem and later power and wake the computer, you'll be
     able to detect sudden discontinuities (like a jump from 30% to 0%) indicative of an aging battery.

     pmset -g pslog


     All changes made through pmset are saved in a persistent preferences file (per-system, not per-user) at

     Scheduled power on/off events are stored separately in

     pmset modifies the same file that System Preferences Energy Saver modifies.

Darwin                         November 9, 2012                         Darwin

Reporting Problems

The way to report a problem with this manual page depends on the type of problem:

Content errors
Report errors in the content of this documentation with the feedback links below.
Bug reports
Report bugs in the functionality of the described tool or API through Bug Reporter.
Formatting problems
Report formatting mistakes in the online version of these pages with the feedback links below.