第15章 Out of Memory (OOM) 状態の管理
Out-of-memory (OOM) は、スワップ領域を含む利用可能なメモリーがすべて割り当てられているコンピューティング状態です。通常、これによりシステムがパニックになり、想定どおりに機能しなくなります。以下で説明する手順は、システムの OOM 状態を回避するのに役立ちます。
前提条件
- システムの root 権限がある。
15.1. Out of Memory 値の変更 リンクのコピーリンクがクリップボードにコピーされました!
/proc/sys/vm/panic_on_oom ファイルには、Out of Memory (OOM) の動作を制御するスイッチである値が含まれます。ファイルに 1 が含まれる場合、カーネルは OOM でパニックになり、期待どおりに機能しなくなります。
デフォルト値は 0 で、システムが OOM 状態の場合に oom_killer() 関数を呼び出すようカーネルに指示します。通常、oom_killer() は不要なプロセスを終了します。これにより、システムの存続が可能になります。
/proc/sys/vm/panic_on_oom の値を変更できます。
手順
/proc/sys/vm/panic_on_oomの現在の値を表示します。# cat /proc/sys/vm/panic_on_oom 0/proc/sys/vm/panic_on_oomの値を変更するには、次のコマンドを実行します。echo コマンドを使用して、新しい値を
/proc/sys/vm/panic_on_oomに代入します。# echo 1 > /proc/sys/vm/panic_on_oom
OOM 時に Real-Time カーネルをパニック状態にすることが推奨されます (1)。そうしないと、システムが OOM 状態になった場合、その状態は決定論的ではなくなります。
検証
/proc/sys/vm/panic_on_oomの値を表示します。# cat /proc/sys/vm/panic_on_oom 1- 表示される値が指定された値と一致していることを確認します。