LinuCレベル2 システムの保守と運用管理 問27
システムの保守と運用管理/死活監視、リソース監視、運用監視ツールLinuxカーネルのOOM Killerの説明として適切なものはどれか。
当サイトのオリジナル問題(LinuCレベル2の出題範囲「システムの保守と運用管理」に対応。実際の試験問題ではありません)
- Aスワップ領域の使用率がしきい値を超えると、使用中のページをすべてディスクへ書き出す
- Bメモリを使い切りそうなプロセスを事前に検知し、そのプロセスの起動を拒否して保護する
- C一定時間応答のないプロセスを検出し、systemdと連携して自動的に再起動させる機能である
- Dメモリが枯渇して確保できなくなったとき、スコアに基づき選んだプロセスを強制終了させる
正解:D
解説
OOM(Out Of Memory)Killerは、物理メモリとスワップを使い切ってメモリを確保できなくなったときに、カーネルがプロセスを選んで強制終了させ、システム全体の停止を防ぐ仕組みです。どのプロセスを選ぶかはメモリ使用量などから計算されるスコア(/proc/PID/oom_score)で決まり、/proc/PID/oom_score_adjで調整できます。発動するとカーネルログに「Out of memory: Killed process ...」のような記録が残るため、dmesgやjournalctl -kで確認できます。重要なサービスが突然停止したときは、リソース枯渇の兆候として監視すべき事象です。
選択肢ごとの解説
- A誤り。OOM Killerはページを書き出す機能ではなく、メモリが確保できないときにプロセスを終了させる機能です。
- B誤り。OOM Killerはプロセスの起動を事前に拒否するものではなく、枯渇が起きた後に既存のプロセスを終了させます。
- C誤り。応答のないサービスの再起動は、systemdのRestart=やWatchdogSec=などの設定で行うもので、OOM Killerの役割ではありません。
- D正しい。メモリ枯渇時に、スコアの高いプロセスを選んで強制終了させます。