プロセスを Out of Memory Killer の対象外にする方法
Linux システムでは、メモリ不足時にカーネルが自動的にプロセスを終了させる機能(Out of Memory Killer、略して OOM Killer)が備わっています。重要なプロセスがこの機能によって終了されないようにするためには、特定の設定を行う必要があります。
手順
  1. プロセスの OOM スコア調整値を設定する
    対象のプロセスに対して、OOM Killer の優先度を最も低く設定するには、oom_score_adj の値を -1000 に設定します。これにより、OOM Killer による終了の対象から除外されます。
    $ echo -1000 | sudo tee /proc/<プロセスID>/oom_score_adj
    <プロセスID> は対象のプロセスの PID に置き換えてください。
  2. 設定が反映されたことを確認する
    設定が正しく反映されたかを確認するには、以下のコマンドを実行します。
    $ cat /proc/<プロセスID>/oom_score
    出力結果が 0 であれば、設定が正しく適用されています。
補足情報
  • oom_score_adj は、プロセスが OOM Killer によって終了される優先度を調整するためのパラメータです。値の範囲は -1000(最も終了されにくい)から 1000(最も終了されやすい)までです。
  • 以前のカーネルバージョンでは、oom_adj を使用していましたが、現在は oom_score_adj が推奨されています。
  • この設定は一時的なものであり、システムの再起動後には元に戻ります。永続的に設定を維持するには、起動スクリプトや systemd のサービスユニットファイルに設定を追加する必要があります。
私たちは、お客さまが私たちのウェブサイトをどのように使用するのかを理解し、お客さまの体験を改善するために Cookie を使用しています。 閲覧を続けると Cookie の使用に同意したことになります。
拒否した場合、このウェブサイトにアクセスしてもお客さまの情報は追跡されません。 情報を追跡しない設定を記憶するために、ウェブブラウザで 1 つだけ Cookie が使用されます。