job.answiz.com
  • 4
Votes
name
name Punditsdkoslkdosdkoskdo

Difference between autopoweroff & standby in pmset

I just got a new Retina MacBook Pro 15". After getting some downloads interrupted due to the computer going to sleep (even on AC power), I started looking at the man page for the pmsetcommand. I did solve my original problem with sleeping but a few options piqued my interest. In particular, here's the description for the autopoweroff setting from the man page:

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 network access is enabled.

And then there's the standby mode:

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 hardware. 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.

Now maybe I'm just being thick, but both options seem like they do essentially the same thing. The main difference I see is that standby requires a specific hibernatemode.

Concretely, the way I'd like to configure my computer is for it to do a RAM-only sleep (exactly like hibernatemode 0 does) when first closing the lid, so that it quickly goes to sleep, without writing the RAM contents to disk immediately. However, if I leave the computer sleeping with the lid closed for a certain number of hours (say 4 hours), I'd like it to only then write the RAM contents to disk and power off the computer, so as to save battery in case of an extended sleep. Ideally, I'd also like the second part (writing RAM to disk and power off) to happen only if the computer is running on battery power.

The reasoning here is that, for me, the common use case for sleeping is taking the computer from home to work and back, and there's no point in slowing down the sleep process and wasting SSD write cycles (as well as slowing down the wake-up process, if it does hibernate) if I'm just going to wake it up again in less than an hour; also, since the time it spends sleeping is so short, not much battery would be saved by shutting the computer down for such a short period.

How should I configure the hibernatemodeautopoweroffautopoweroffdelaystandby and standbydelay options to achieve this behavior?

This hibernate/sleep thing has been driving me insane. And I agree that Apple should put more energy into fixing this pmset behavior.

I will be clear. I love hibernate mode and it used to work perfectly in older models and OSs (just running sudo pmset hibernatemode 25 was enough). Now Apple broke something and this just doesn't work since Yosemite.

I have a Retina now and now more than ever the hibernate option makes way more sense than the Sleep. I don't get why people having SSDs love Sleep over hibernate so much, I just don't understand they don't understand the wake up time difference between hibernate and sleep is 1 second but they save tons of battery, someone explain me what they see as the big advantage cause I don't get it. Anyways, (if you love hibernate as much as I do, continue reading) I wanted hibernate to work. It took me weeks to make it work and I will share what I did with you all.


You HAVE TO reset the SMC and then the NVRAM / PRAM first:

Reset the SMC (http://support.apple.com/kb/ht3964):

  1. Shut down the computer.
  2. Plug in the MagSafe power adapter to a power source, connecting it to the Mac if it's not already connected.
  3. On the built-in keyboard, press the (left side) Shift-Control-Option keys and the power button at the same time.
  4. Release all the keys and the power button at the same time.
  5. Press the power button to turn on the computer.

Note: The LED on the MagSafe power adapter may change states or temporarily turn off when you reset the SMC.

Resetting NVRAM / PRAM (http://support.apple.com/kb/HT1379):

  1. Shut down your Mac.
  2. Locate the following keys on the keyboard: Command, Option, P, and R. You will need to hold these keys down simultaneously in step 4.
  3. Turn on the computer.
  4. Press and hold the Command-Option-P-R keys before the gray screen appears.
  5. Hold the keys down until the computer restarts and you hear the startup sound for the second time.
  6. Release the keys.

Now execute these:

AC:

sudo pmset -c sleep 0
sudo pmset -c standby 0
sudo pmset -c standbydelay 5
sudo pmset -c hibernatemode 25

Battery:

sudo pmset -b sleep 120
sudo pmset -b standby 1
sudo pmset -b standbydelay 5
sudo pmset -b hibernatemode 25

All:

sudo pmset -a acwake 0
sudo pmset -a lidwake 0
sudo pmset -a ttyskeepawake 0
sudo pmset -a darkwakes 0

All done! Set the MacBook to sleep and when you wake it up you will see a progress bar before the computer is done. That means, the MacBook was hibernating! (note: I hate they removed the sleeping light from the MacBook Pro, that was very useful)

  • 1
Reply Report

I tried to summarize all the settings in a picture.

Sleep Standbysource

I would say there are just two "modes": Sleep and Hibernation

  • Sleep: data will be kept in memory.
  • Hibernation: (or Standby? SafeSleep? DeepSleep?) data will kept in hard disk and requires significant less power consumption.

Here are summaries of my understanding..

  1. if [sleep == 0], the computer will not sleep or hibernate any more.
  2. if [standby == 1] and [hibernatemode == 3], the computer will wait another [standbydelay]minutes before really entering hibernation.
  3. [autopoweroff] is just an extra implementation to fulfill regulatory requirement and has the same impact equivalent to 2)
  4. either 2) or 3) takes effect if one of them is reached at first.
  5. if [standby == 1] and [hibernatemode == 25], the computer will enter hibernation immediately after [sleep] minutes.

Can someone review and confirm the interpretation?? thanks

  • 1
Reply Report

The autopoweroff feature is also mentioned in http://support.apple.com/kb/HT1757:

With the release of the OS X Mountain Lion v10.8.2 supplemental update 2.0, a new feature was introduced to enter safe sleep after four hours of the computer being connected to AC power. This is an effort to comply with the European Energy Standards (ErP Lot6). This will only occur if there is no wireless or Ethernet activity and no activity from external devices such as USB storage devices.

This is normal behavior for the following models:

  • MacBook Pro (Mid 2012 and later)
  • MacBook Pro (Retina, Mid 2012 and later)
  • MacBook Air (Mid 2012 and later)
  • iMac (Late 2012 and later)
  • Mac mini (Late 2012 and later)

Standby mode is documented in http://support.apple.com/kb/ht4392:

Macs that can use standby mode:

  • MacBook Pro (Retina, 13-inch, Late 2012) and later
  • MacBook Pro (Retina, 15-inch, Early 2013) and later
  • MacBook Pro (Retina, Mid 2012)
  • MacBook Air (Mid 2010) and later
  • SSD and Fusion drive versions of Mac mini (Late 2012) and later
  • SSD and Fusion drive versions of iMac (Late 2012) and later

Mac computers manufactured in 2013 or later enter standby after three hours of "regular" sleep. Earlier computers activate after just over an hour of "regular" sleep.

To enter standby, the computer must:

  • Be running on battery power (if it is a Mac notebook computer).
  • Have no USB devices attached.
  • Have no Thunderbolt devices attached.
  • Have no SD card inserted.
  • Have no external display attached.
  • A computer with a fully charged battery can remain in standby for up to thirty days without being plugged in to an AC power source.

The state of the computer is saved to the flash storage (SSD), then the power to the hardware subsystems turns off to increase the length of the standby. For example, RAM memory and the USB bus are powered off during the standby.

So standby mode and autopoweroff are supported by different models of Macs and they are enabled under different conditions. Standby mode was introduced in 2010 and it was initially only supported by MacBook Airs, but it is now supported by all new Macs except Mac Pros, iMacs with no SSD, and Mac minis with no SSD. autopoweroff was introduced in 2012 and it is supported by all new Macs except Mac Pros.

I don't know if the state of being in standby mode is different from the autopoweroff state. A gray screen with a progress bar is shown when a Mac wakes up from both states.

Note that Apple has used "safe sleep" to refer to both the hybrid sleep and hibernation mode that laptops use by default (like in http://support.apple.com/kb/PH11096) and to the hibernation-only state (like in the first block quote above).

Even if you set standbymode to 0 and disable standby mode and autopoweroff, you won't waste that much energy. New laptops use about 0.7-1W of energy in sleep mode and about 0.2-0.3W when off or in hibernation mode.

  • 4
Reply Report