Does linux have a hybrid "deep sleep" mode like the Mac?
In Ubuntu 18.04 LTS and above suspend-then-hibernate
works similarly
In this mode laptop sleeps or suspends to RAM when the lid is closed or a button is pressed. After a certain time that has been pre-set, the laptop will wake up and write the data in RAM to disk, and enter hibernate mode.
The advantage is, the laptop suspends (sleeps) more quickly when close the lid. If you wake it up before the pre-set time it resumes quickly as well. If you don't wake the it up before the pre-set time it automatically saves battery in hibernate mode shut-down.
In Ubuntu 17.10 and below hybrid-sleep
was the closest
In this mode the data in RAM is written to disk for hibernating before the laptop entered sleep (also known as suspend) mode. If the battery gets critically low while sleeping, the laptop goes into hibernation before turning off power, so the data in RAM is not lost.
In case the battery is drained out while the laptop was in hybrid sleep mode, plugging it into the power socket and powering it up will bring it back to the state when the lid was closed to put the laptop to sleep.
See What is hybrid suspend for some more explanations.
From the Ubuntu manpage on systemd power-saving mode:
systemd supports four general power-saving modes:
suspend a low-power state where execution of the OS is paused, and complete power loss might result in lost data, and which is fast to enter and exit. This corresponds to suspend, standby, or freeze states as understood by the kernel. hibernate a low-power state where execution of the OS is paused, and complete power loss does not result in lost data, and which might be slow to enter and exit. This corresponds to the hibernation as understood by the kernel. hybrid-sleep a low-power state where execution of the OS is paused, which might be slow to enter, and on complete power loss does not result in lost data but might be slower to exit in that case. This mode is called suspend-to-both by the kernel. suspend-then-hibernate A low power state where the system is initially suspended (the state is stored in RAM). If not interrupted within the delay specified by HibernateDelaySec=, the system will be woken using an RTC alarm and hibernated (the state is then stored on disk). Settings in these files determine what strings will be written to /sys/power/disk and /sys/power/state by systemd-sleep(8) when systemd(1) attempts to suspend or hibernate the machine.
See this answer if you want to enable either suspend-then-hibernate
or hybrid-sleep
in your Ubuntu laptop.
Hope this helps.
Related videos on Youtube
pogul
Updated on September 18, 2022Comments
-
pogul over 1 year
On Mac OS a laptop will suspend to RAM when you shut the lid, when its been asleep for a certain (configurable) amount of time it will hibernate. This is generally good, since you get the fast sleep/wake advantages of suspend and the power saving goodness of hibernate.
Is there any similar thing for Ubuntu?
[I'm currently using Kubuntu 18.04 and loving it, though even suspend doesn't seem to work properly on my XPS 9560, but I guess that's another question]
-
Melebius almost 6 years“its been asleep for a certain (configurable) amount of time it will hibernate” Can you provide a source? This contradicts my experience with Mac laptops, at least it does not depend on time (moreover, configurable?!) but on the battery status. See apple.stackexchange.com/q/260578/90319. And I think firmware (BIOS) support is required for reaction to low battery.
-
Melebius almost 6 years@user68186 That’s exactly what my older MacBook (Late 2007) does. It’s easier than waking up when the battery gets low. And I think you could expand your comment a little and convert it to an answer. You can then ping me for a free upvote.
-
jdwolf almost 6 yearsI'm going to guess part of the misconception here is that Mac OS is not actually going to sleep the moment the lid is closed its probably just turning the monitor and devices off before some time passes in which it will go into hybrid sleep which works funtionally the same as Linux and Windows where the system state is saved both in RAM and the HDD.
-
pogul almost 6 yearsMelebius: I don't have a source, I'm not going to spend time googling it so you don't have to! But I did use Macs at work for years and tweaked the "time delay before deep sleep" using the command
pmset -a standbydelay $delay_seconds
. Just to be clear, I was citing Macs as an example of the sort of thing that can be done, I'm not saying they're better or worse, just that I'd like for my Linux laptop not to run out of charge overnight. It's possible there's something else stopping it from sleeping properly. -
Melebius almost 6 years@pogul Thank you for mentioning the
pmset
command, I was able to find some reference using it.
-
-
user68186 almost 6 years@Melebius Thanks for pushing me to answer and quick edits.
-
pizzapants184 over 5 yearsIn Ubuntu 18.04+, systemd supports
suspend-then-hibernate
which is similar to the power-saving mode described in the question. Source (18.04 systemd-sleep.conf.d manpage). -
user68186 over 5 years@pizzapants184 Thanks for the comment. I will update my answer.