最近、私のシステムが不安定な理由は、Linuxが書き込みをバッファリングしているからです。 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
たとえば、/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