Failed to hibernate system via logind: Not enough swap space for hibernation [Fresh Install]

Hi all,

First I want to thank all the developers that work on Garuda Linux, it's really a great experience, polished and stable.

I am sorry to raise the issue in the subject, does anybody know if it's a known issue?

This is what I am trying:
systemctl hibernate

Result:
Failed to hibernate system via logind: Not enough swap space for hibernation

Some info:
Default Garuda installation
16Gb swap created by Garuda
12 zram devices in /dev/zram0-11

OS: Garuda Linux x86_64
Host: XPS 15 7590
Kernel: 5.10.6-110-tkg-bmq
CPU: Intel i7-9750H (12) @ 4.5GHz
Memory: 8141MiB / 15641MiB (52%)

Can anybody help me?

Thank you!

Zram isnt meant for hibernation.
It is used to compress ram and as a swap.

You have to create a dedicated swap partition if you want hibernation.

4 Likes

The system capability to hibernate to disk depends on the total memory used at the time you try to hibernate. If you have a lot of memory occupied at that time, which exceeds swap file/partition, it would not succeed.
How can you track your memory is a little complicated.
Here we go:

  • If you have a completely empty swap partition (used swap=0%) and RAM is used at 99%, you can successfully hibernate anytime.
  • If you have 12GB used RAM and 5GB used swap you exceed the max (12+5>16).
  • With zram, RAM capability is increased, because RAM is compressed, which means something like 9GB of used RAM may be more than 16GB uncompressed RAM, which would not fit in 16GB swap partition.
  • If your swap partition is used even for a small amount, it is also impossible to swap (but I am not sure about that, it is a personal experience on my system)
2 Likes

Thank you all!

I don't think it's a problem with the amount of memory/swap because I tried with 4GiB Ram and 0 swap out of 16GiB used and it still fails.

It's probably what @librewish said.

Your image added zero (0) info. Please don't post images for no reason.

But do you have a swap partition?

swapon --show
bash -c 'grep -E "swap|var" /etc/fstab'