Ubuntu 18.04
我一直有同样的问题 - 由于我的坏习惯,我的 Firefox 可以打开并在内存中保存太多标签。这会导致 RAM 使用率最终达到 100%
,此时整个系统会发生硬锁。我什至无法移动光标以在系统监视器中按“结束进程”。
当我运行我的代码并占用太多内存时,会出现相同的行为 - 一切都停止工作,鼠标变得无响应。
我的猜测很明显 - 可用内存不足会阻止 Gnome 或 Ubuntu 本身。
所以我猜测的解决方案是让这些操作系统系统保留内存以始终工作和响应。
我怎么做?
按照要求
$ free -h
total used free shared buff/cache available
Mem: 7,7G 4,3G 281M 1,2G 3,1G 1,9G
Swap: 2,0G 1,5M 2,0G
Run Code Online (Sandbox Code Playgroud)
$ sudo sysctl vm.swappiness
vm.swappiness = 60
Run Code Online (Sandbox Code Playgroud)
小智 4
代替一千个字:使用 nohang 预防系统挂起:https://youtu.be/PLVWgNrVNlc
Nohang 是一个高度可配置的 Linux 守护进程,能够正确防止内存不足 (OOM) 并在内存不足的情况下保持系统响应能力: https: //github.com/hakavlad/nohang
但最简单的方法是安装earlyoom。该程序位于从 ubuntu 18.04 开始的存储库中:只需运行sudo apt install earlyoom。
您真正需要做的就是在 RAM 达到 100% 之前关闭一两个 FireFox 选项卡。但你怎么知道什么时候接近那个点呢?
您可以运行一个脚本,在 95% 时弹出通知气泡:
我所做的就是让 conky 始终运行,向我显示我的系统状态: