Saving Energy on Mac OS X
Mac OS X has always provided great energy saving features. Unlike other computers, Mac computers have traditionally included energy saving capabilities that just work and make it easy to save energy.
Built into Mac OS X
Mac OS X includes a range of energy saving settings and tools to help save energy. These tools are available as standard and are built into the operating system.
Within the System Preferences, you will find a panel called Energy Saver. Energy Saver is the home to your Mac's energy saving and power scheduling settings.
Energy Saver is represented by a suitably appropriate image, an energy saving light bulb. In earlier versions of Mac OS X the bulb was a traditional incandescent bulb but the image changed as better, more efficient, bulbs became widely available and recognised.
What settings you see in Energy Saver will differ depending on the abilities of your Mac. Recent Macs have added options such as PowerNap and automatically restarting after a power failure.
More settings will appear if you have an Uninterruptible Power Supply (UPS) connected, or have a MacBook with an internal battery.
Below are two screenshots showing Energy Saver on different Macs. Note the MacBook (lower screenshot) contains a Battery/Power Adapter tab but less checkboxes.
You will see the settings that your Mac understands. If a setting is not visible, it is likely because that feature is not available on your Mac.
Within Energy Saver there are a couple of settings that you should know about.
Computer sleep should be set to about 10 minutes. This means after 10 minutes of inactivity, your Mac will go into a very low power state. The screen will turn off and the computer will use only a fraction of its normal power.
When asleep your Mac will pulse a white light on its front.
Your Mac is not switched off but instead in a low power state. In this state, your Mac can be woken quickly and you can resume where you left off.
While asleep your Mac will not perform any work. E-mail will not be checked and no applications will work. There are exceptions to this for a feature called PowerNap but you should not rely on these exceptions.
You can wake a sleeping Mac by pressing a key on the keyboard or clicking the mouse.
Display sleep should be set to 10 minutes or less. This means after 10 minutes of inactivity the display will be turned off. The Mac will continue to check for e-mail and applications will continue to run; only the display will be asleep.
Ideally, you should set the display to sleep before the computer. The sooner the display sleeps, the more energy you will save.
Your Mac's display is the most power hungry part of your computer. The display uses a lot of power to light up and remain visible. So when not needed, it is best to let Mac OS X turn it off for you.
Macs have the fantastic ability to power themselves on and off.
Powering off is easy. Any computer can shut down in an automated fashion. Only Macs have had the longstanding ability to power on to a schedule.
You can ask you Mac to power on at a given time each day. The Schedule… button within Energy Saver is a hidden gem of Mac OS X. Behind this button is a simple scheduling panel that lets you set when your Mac should power on or off.
The options provided by Schedule… are limited but they can be extended with additional software.
pmset is a command line tool for adjusting Energy Saver settings from the Terminal. This tool is great for system administrators and those needing more control over settings.
Most of pmset's abilities are available through Energy Saver but some are not. The pmset manual page describes the published options.
Debugging Sleep and Power Behaviour
pmset provides useful debugging information for when you need to understand why your Mac is not sleeping or waking as expected.
-g flag provides access to live and historic log information. Every time your Mac performs a power related task, it is logged. pmset provides easy access to this log:
pmset -g log
-g log flag produces output showing assertions being created and released:
11/06/2013 07:02:38 CEST Assertions PID 334(helpd) Created BackgroundTask "com.apple.helpd.sdmbuilding" 00:00:05 id:0xc0000019e Aggregate:0x101240 11/06/2013 07:02:44 CEST Assertions PID 359(diskmanagementd) Created PreventUserIdleSystemSleep "com.apple.diskmanagementd" 00:00:08 id:0x1000001a4 Aggregate:0x101240 11/06/2013 07:02:54 CEST Assertions PID 359(diskmanagementd) Released PreventUserIdleSystemSleep "com.apple.diskmanagementd" 00:00:18 id:0x1000001a4 Aggregate:0x101240 11/06/2013 07:03:42 CEST Assertions PID 376(diskmanagementd) Created PreventUserIdleSystemSleep "com.apple.diskmanagementd" 00:00:06 id:0x1000001c1 Aggregate:0x101240 11/06/2013 07:03:54 CEST Assertions PID 376(diskmanagementd) Released PreventUserIdleSystemSleep "com.apple.diskmanagementd" 00:00:18 id:0x1000001c1 Aggregate:0x101240 11/06/2013 07:04:15 CEST Assertions PID 65(mds) Released BackgroundTask "com.apple.metadata.mds" 00:02:58 id:0xc00000134 Aggregate:0x101240 11/06/2013 07:04:44 CEST Assertions PID 392(diskmanagementd) Created PreventUserIdleSystemSleep "com.apple.diskmanagementd" 00:00:08 id:0x1000001ca Aggregate:0x101240
To see everything pmset has recently logged, the flag
-g everything will provide pages of information:
pmset -g everything
caffeinate is a command line tool for stopping your Mac from sleeping or putting the display to sleep.
Why would you need caffeinate? caffeinate is provided for people wanting to perform long running tasks that last longer than the Computer sleep time or Display sleep time set in Energy Saver.
Such tasks include running AppleScripts or shell scripts that may take hours to finish and should not be interrupted.
You probably do not need caffeinate. Mac applications that need to keep your Mac awake should do so without your intervention. caffeinate is a technical tool to help those with Mac unfriendly workflows. The caffeinate manual page provides an overview of the options.
Shell scripts are a great example of where caffeinate is helpful. If you use a shell script originally written for Linux but running on the Mac, that shell script is likely to work. However, the script is not going to know about Mac specific energy saving best practices. As a user, your options are to modify the shell script, which could be complex, or to run caffeinate in addition to the shell script. The combination is easier and less likely to cause problems.
Beyond the Built-in Software
We make energy saving software that extends what is possible on your Mac and with Mac OS X. Want more than Mac OS X offers? Embrace Power Manager.