I was having a discussion on Linux Saloon with about sleep states, what they are and what seems to work best for people recently. I don’t think the term sleep states are necessarily the best term but here we are. I wanted to research this and write it down, for my personal reference and then I thought I’d just put it on this site so I can jump back to it whenever. Really, I expect very little traffic on this one.
Background
The sleep states for computers, specifically those defined by the Advanced Configuration and Power Interface (ACPI) standard, range from S0 through S5. As per the specifications from eufi.org and from Intel’s documentation. To boil it down to its basics, here’s a breakdown of each:
S0 (Working)
The system is fully operational. This state includes all sub-states where the CPU is actively processing instructions, even if the system is idle. Basically, if your computer is on and doing things, this is the S0 or Working state.
S1 (Sleeping with CPU context maintained)
The CPU stops executing instructions, but maintains its context like cache and memory. Power consumption is reduced, but the system can wake up quickly. Some devices might be powered down, but the system state is preserved. From what I understand, openSUSE Tumbleweed with Plasma doesn’t use this state.
S2 (Sleeping, but CPU context lost)
Similar to S1, but the CPU loses its context. The system uses less power than in S1 because the CPU state isn’t preserved. This state is rarely used in modern systems. This one is also not used on my Linux based desktop.
S3 (Standby/Suspend to RAM)
The state I use most often on my computers is S3. This is often referred to as “suspend to RAM” or “sleep” where everything in the system is powered down except for the RAM. In this state, the RAM will continue to draw power to preserve the system state. This allows for a fast wake-up time since the state is maintained in memory and a breathing or pulsating power light on most computers as an indication of this state.
I have noticed different amounts of power draw per computer over the years on this. Ultimately, your results may vary on how well this works for you. I have had very little issue with this on modern laptops and desktops but there are some systems that seem to have a problem using this.
S4 (Hibernate/Suspend to Disk)
The system saves the contents of RAM to non-volatile storage (such as the hard drive or SSD) before shutting down completely. When the system resumes, it reloads this state from storage. This state uses no power, but the wake-up time is much longer since data must be read back into RAM. I have had mixed to less than stellar results with this and inconsistency on various machines as to whether or not they will recover from this. Much to my dismay, Windows seems to handle this feature much better than Linux machines.
S5 (Soft Off)
Essentially the same thing as being powered off. The system does not retain any context or state of the system. In order to resume operation, it must perform a full boot of the computer. Put simply, your computer is off and needs to boot up again.
Final Thoughts
These sleep states represent a continuum of power states of your computer. For most people you will use S0, S3, sometimes S4 and S5. These help you to make the best use of your energy reserves on a mobile, battery equipped device. It gives you options for balancing between power conservation and the speed of resuming operation. Not all systems or hardware support all these states, and the exact implementation between manufacturers or specific hardware configurations will yield varied results.
References
UEFI Forum – ACPI Specification: uefi.org/specifications
Windows Hardware Developer Power Management: docs.microsoft.com/en-us/windows-hardware/design/device-experiences/power-management
Intel ACPI Power Management: intel.com/content/www/us/en/developer/articles/technical/acpi-power-management.html

Leave a Reply