尽管交换使用率几乎为零,但休眠找不到足够的内存

尽管交换使用率几乎为零,但休眠找不到足够的内存

我正在尝试诊断与休眠相关的问题。我使用的是运行 Manjaro 和内核 6.1.53-1-MANJARO 的 Lenovo Ideapad (AMD)。当我尝试休眠时,我不断收到有关可用内存不足的错误,尽管我的 RAM 使用率约为 2/3,并且交换空间接近 100% 可用。

这是我冬眠前的记忆状态:

free -h     
               total        used        free      shared  buff/cache   available   
Mem:           9.7Gi       6.4Gi       549Mi        69Mi       3.1Gi       3.3Gi   
Swap:           19Gi       6.2Mi        19Gi  

然后我尝试sudo systemctl hibernate并从日志中的 systemd 收到此错误: systemd-sleep[4570]: Failed to put system to sleep. System resumed again: Cannot allocate memory

进一步向下滚动,我看到了这个:

Sep 26 17:25:10 keylimepie kernel: PM: hibernation: Error -12 creating image
Sep 26 17:25:10 keylimepie kernel: PM: hibernation: Not enough free memory
Sep 26 17:25:10 keylimepie kernel: PM: hibernation: Normal pages needed: 1376113 + 1024, available pages: 1228684
Sep 26 17:25:10 keylimepie kernel: PM: hibernation: Need to copy 1376113 pages
Sep 26 17:25:10 keylimepie kernel: PM: hibernation: Creating image:

free -h显示以下内容:

               total        used        free      shared  buff/cache   available
Mem:           9.7Gi       5.4Gi       3.6Gi        40Mi       932Mi       4.2Gi
Swap:           19Gi       4.5Gi        15Gi

我尝试将其更改/sys/power/image_size为零,但没有什么区别。我已将 swappiness 从 60 更新为 10,但我认为这不一定会影响实际的休眠过程。

我现在不知道这里发生了什么。我有近 19GB 的可用交换分区,但内核仍然说没有足够的可用内存来创建映像。我是否遗漏了一些基本的东西,或者我可以尝试解决什么问题吗?

相关内容