在过去的几天里,不知为何(最近没有重大更新),我经常遇到系统完全冻结的情况。鼠标无法移动,无法触发任何组合键,也无法使用 Alt+SyReq 重新启动。唯一的办法就是按住电源按钮直到关机。重新启动后,它再次冻结,有时是几个小时后,有时是几分钟后。这与我运行程序无关,只是在我浏览网站时莫名其妙地发生。
free -h 给出:
total used free shared buff/cache available
Mem: 11Gi 1.0Gi 9.0Gi 134Mi 1.4Gi 9.9Gi
Swap: 2.0Gi 0B 2.0Gi
sysctl vm.swappiness 给出:
vm.swappiness = 60
swapon -s 给出:
Filename Type Size Used Priority
/swapfile file 2097148 0 -2
答案1
系统“冻结”通常是由于运行过多、过大的程序,导致可用内存不足造成的。使用free
来查看是否有交换空间,阅读man mkswap swapon fstab fallocate
来创建一些交换空间。交换空间必须是连续的。使用mkswap
或fallocate
,而不是dd
。传统上,建议使用 1.5 × RAM 的交换空间,但 YMMV。如果您不打算让系统休眠,则可以拥有少于 1.0 × RAM 的空间。
答案2
使用 12G RAM,您的 /swapfile 可能有点小,并导致冻结。让我们将其从 2G 增加到 4G,看看是否有帮助。
笔记:错误使用rm
和dd
命令可能会导致数据丢失。建议复制/粘贴。
在里面terminal
...
sudo swapoff -a # turn off swap
sudo rm -i /swapfile # remove old /swapfile
sudo dd if=/dev/zero of=/swapfile bs=1M count=4096
sudo chmod 600 /swapfile # set proper file protections
sudo mkswap /swapfile # init /swapfile
sudo swapon /swapfile # turn on swap
free -h # confirm 12G RAM and 4G swap
sudo -H gedit /etc/fstab
使用或编辑 /etc/fstab sudo pico /etc/fstab
。
确认 /etc/fstab 中的此 /swapfile 行...并确认没有其他“交换”行...在此行中使用空格...确认没有制表符...
/swapfile none swap sw 0 0
reboot # reboot and verify operation