我正在尝试诊断与休眠相关的问题。我使用的是运行 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 的可用交换分区,但内核仍然说没有足够的可用内存来创建映像。我是否遗漏了一些基本的东西,或者我可以尝试解决什么问题吗?