为什么在物理内存使用率达到峰值时 GUI 会重新启动,尽管仍然有足够的虚拟内存?

为什么在物理内存使用率达到峰值时 GUI 会重新启动,尽管仍然有足够的虚拟内存?

这种情况经常发生。每次我看到 RAM 使用率达到峰值时,GUI 都会重新启动。如果您能提供任何帮助,我将不胜感激。

还需要什么其他信息?


当我在 Virtualbox 中使用 Windows 10 时,就会发生这种情况,我已将其设置为使用 6GB 内存。我有 12 GB 内存和 25 GB 交换空间。

答案1

当 RAM 不足时,内核 OOM-killer 决定牺牲桌面,这是常见的情况。这会丢失您所有未保存的工作,并将您踢出到登录提示符。

事件的顺序如下:

  1. 您的系统内存不足(内存 = RAM + swap)
  2. 应用程序需要的内存超出了系统可用的内存量。
  3. 内核通过寻找不同的应用程序来终止以释放足够的内存来响应此需求。
  4. 内核的内存不足终止程序 (OOM-Killer) 功能判定桌面本身是否适合终止。
  5. 终止桌面将使您返回到登录提示符。
  • 这可能表明 OOM-killer 存在错误。它应该终止单个应用程序,而不是终止整个桌面。但是,这是一个棘手的问题,所以不要指望这个错误能很快得到修复。

您可以采取以下措施:

  • 跟踪内存使用情况。使用free命令快照正常 RAM 和交换使用情况。查找意外的高使用率。查找意外的低交换。

  • 添加更多交换。交换是可用作 RAM(较慢)内存页的磁盘空间。如果您不使用交换,添加一些。如果交换空间不足,请扩展它。交换不是一个完美的解决方案:它很慢,而缓慢的系统可能同样令人讨厌。

  • 减少使用占用大量内存的应用程序。对于普通用户来说,最大的罪魁祸首是网络浏览器。您没有主动关注的每个选项卡可能仍在消耗大量内存。如果内存不足,关闭几个选项卡可能是释放资源以进行更重要活动的简单方法。

  • 添加更多 RAM。这意味着要花钱并打开机箱,但如果免费和轻松的更改还不够……

相关内容