Ubuntu 在交换空间已满时锁定

Ubuntu 在交换空间已满时锁定

我有一个运行 xfce 和 2 GB RAM 的 Ubuntu 系统。我有一个 1GB 的交换文件,当多任务开始填满时,它会占用大量空间。当我有少量的可用交换空间时,我没有问题,但是一旦交换空间填满,系统就会锁定。甚至鼠标都无法移动,尽管我可以使用 [Alt]+[SysRq]+[K] 来关闭 xfce,但这仍然需要重新启动才能再次启动和运行。如果需要,我将提供更多系统详细信息。提前致谢。

答案1

是的,当内存/交换空间耗尽时就会发生这种情况。另一方面,我原本以为 Ubuntu 会开始终止随机进程,拼命避免崩溃。这是系统某个地方的配置,但一旦内存耗尽,文件系统继续运行就不安全了。因此,最明智的做法是停止系统,尽量不要损坏任何(更多)数据。

您必须弄清楚内存不足的原因,哪个应用程序导致这种情况发生。top或者htop可以帮助您。htop 可能需要与一起安装sudo apt-get install htop。的优点htop是您可以轻松地指向并单击要排序的列标题。

如果不能消除该程序,最好的办法是添加额外的 RAM,但这需要花钱。第二个最佳办法是增加交换空间,但这会降低性能。

作为临时解决方法(直到下次重新启动),您可以测试这是否有效:

  • 找到一个有大量可用空间的文件系统。大多数默认安装/tmp都可以df -h /tmp。至少应该有几 GB 的可用空间。
  • 创建一个大文件(例如 1M × 2000 = 2GB)dd if=/dev/zero of=/tmp/extra.swap bs=1M count=2000
  • 将文件初始化为交换空间mkswap /tmp/extra.swap
  • 开始使用文件作为交换空间sudo swapon /tmp/extra.swap

如果这对您有用,您将必须研究如何找到更明确的解决方案。

相关内容