禁用任何和所有形式的写缓冲和写缓存

禁用任何和所有形式的写缓冲和写缓存

我最近发现我的系统不稳定的原因是 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

相关内容