本文へスキップ

メモリ逼迫と OOM Killer

Pro会員限定上級約40分6レッスン

夜中にワーカーが落ちて自動で再起動していました。free と /proc/meminfo で逼迫を測り、メモリを食うプロセスと OOM Killer の痕跡を突き止めます。oom_score の仕組みを理解し、MemoryHigh・MemorySwapMax でスワップも含めたサービスの上限を設計します。

対象者: プロセスが突然落ちる原因を調べたい方 / Java などメモリを多く使うサービスを運用する方

前提知識: 依存関係・再起動ポリシー・drop-in 修了程度

この教材を終えると、できるようになること

  • free -h の available と swap、/proc/meminfo の MemAvailable・SwapFree・Committed_AS から、メモリの逼迫度を判断できるようになる。
  • ps aux --sort=-%mem で使用量の多いプロセスを特定し、RSS・VSZ・VmSwap の意味と JVM のヒープとの差を説明できるようになる。
  • dmesg -T と journalctl で OOM Killer の記録を見つけ、systemd の再起動回数と結びつけて経緯を説明できるようになる。
  • /proc/<PID>/oom_score と oom_score_adj の意味を理解し、PostgreSQL が守られている理由を説明できるようになる。
  • RSS と VmSwap から上限の根拠を示し、drop-in で MemoryHigh・MemoryMax・MemorySwapMax を設定して、上限到達が journal に oom-kill として残ることを説明できるようになる。

修了後の姿: 障害の根本原因をログとコマンドで突き止められる、チームに頼られる運用エンジニアへ。

この講座はPro会員限定です。無料の会員登録後、無料レッスンのあるコースから学習を始められます。

メモリ逼迫と OOM Killer|Linux講座 | InfraDojo