我最近发现我的系统不稳定的原因是 Linux 正在缓冲写入,并且它对任何形式的所有设备都这样做,并且它不关心它溢出时造成多少破坏,并且 OOM 杀死了几乎所有的设备。运行过程。
如何在系统范围内而不是在用户空间中禁用此功能?这造成了很多问题,我现在只想让它消失。
CPU: Intel i7-3820QM
RAM: 4x8 GiB DDR3-1600
GPU 0: Intel HD Graphics 4000
GPU 1: nVidia Quadro K2000M 2 GB (No drivers are present, so it's effective irrelevant.)
任何帮助将不胜感激,如果我必须编译内核,我可以这样做。
答案1
创建eg /etc/sysctl.d/disable_dirty_cache.conf
(名称任意,只要以 结尾即可.conf
),重启:
vm.dirty_background_bytes = 0
vm.dirty_bytes = 0
未经测试,甚至不确定它是否会工作,如果它没有增加 4096 或更大的值。这有可能完全破坏您的写入性能并严重增加文件碎片。写缓冲区对于多任务操作系统至关重要。
OOM 实际上会杀死所有正在运行的进程。
也许你可以通过例如解决根本问题
sudo apt update
sudo apt install earlyoom
sudo systemctl enable --now earlyoom