Jul
5th
Sun
5th
Linux 2.6以降では、メモリを”オーバーコミット”させないようにカーネルの動作を変更するという、より優れた解法があります。 この設定は完全にOOMという殺し屋の発生を防ぐことはできませんが、その発生頻度をかなり軽減しますので、システム動作の堅牢性をより高めます。 これは、以下のようにsysctlを使用して厳密なオーバーコミットモードを選択すること、もしくは、/etc/sysctl.confに同等の項目を記述することで実施されます。
sysctl -w vm.overcommit_memory=2
また、関連するvm.overcommit_ratio設定を変更した方が良いでしょう。 詳細はDocumentation/vm/overcommit-accountingカーネル文書を参照してください。