すべてのプロダクト
Search
ドキュメントセンター

:ECS インスタンスがダウンし、「Out of memory and no killable processes」エラーメッセージが表示される場合の対処方法

最終更新日:May 16, 2026

メモリリークを確認し、OOM 設定を調整することで、Out of memory and no killable processes カーネルパニックによる ECS インスタンスのクラッシュを修正します。

現象

インスタンスがランタイムに、以下のようなコールスタックを出力してクラッシュします。

[28663.625353] [ pid ]   uid  tgid total_vm      rss nr_ptes nr_pmds swapents oom_score_adj name
[28663.625363] [ 1799]     0  1799    26512      245      56       3        0         -1000 sshd
[28663.625367] [29219]     0 29219    10832      126      26       3        0         -1000 systemd-udevd
[28663.625375] Kernel panic - not syncing: Out of memory and no killable processes...
[28663.634374] CPU: 1 PID: 3578 Comm: kworker/u176:4 Tainted: G           OE   3.10.0-1062.9.1.el7.x86_64 #1
[28663.676873] Call Trace:
[28663.679312]  [<ffffffff8139f342>] dump_stack+0x63/0x81
[28663.684421]  [<ffffffff811b2245>] panic+0xf8/0x244
[28663.689184]  [<ffffffff811b98db>] out_of_memory+0x2eb/0x550
[28663.694726]  [<ffffffff811be254>] __alloc_pages_may_oom+0x114/0x1c0
[28663.700959]  [<ffffffff811bedb3>] __alloc_pages_slowpath+0x7d3/0xa40
[28663.707279]  [<ffffffff811bf229>] __alloc_pages_nodemask+0x209/0x260
[28663.713599]  [<ffffffff81216535>] alloc_pages_current+0x95/0x140
[28663.719573]  [<ffffffff811ba5ee>] __get_free_pages+0xe/0x40
[28663.725113]  [<ffffffff81075dae>] pgd_alloc+0x1e/0x160
[28663.730225]  [<ffffffff810875e4>] mm_init+0x184/0x240
[28663.735249]  [<ffffffff81088102>] mm_alloc+0x52/0x60
[28663.740186]  [<ffffffff81257640>] do_execveat_common.isra.37+0x250/0x780
[28663.759839]  [<ffffffff81257b9c>] do_execve+0x2c/0x30
[28663.764864]  [<ffffffff810a231b>] call_usermodehelper_exec_async+0xfb/0x150
[28663.777246]  [<ffffffff81741dd9>] ret_from_fork+0x39/0x50

原因

カーネルがメモリの割り当てに失敗し、メモリを解放するためにどのプロセスも kill できないため、インスタンスがクラッシュします。考えられる原因:

  • カーネルのメモリリークによって、利用可能なメモリが枯渇していること。

  • oom_score_adj-1000 に設定されたプロセスは、過剰なメモリを消費し、強制終了できません。

    説明

    oom_score_adj は、OOM キリングの優先度を制御する整数値です。値が低いほどプロセスがキルされにくくなり、値が高いほどキルされやすくなります。

ソリューション

重要

作業を開始する前に、データ損失を防ぐため、スナップショットを作成してインスタンスデータをバックアップしてください。詳細については、「スナップショットを手動で作成」をご参照ください。

  1. カーネルのメモリリークを確認します。

    詳細については、「インスタンスの slab_unreclaimable メモリの割合が高い場合の対処方法」をご参照ください。

  2. oom_score_adj の設定を確認します。

    1. pstop、または pgrep を使用して、対象プロセスの PID を取得します。

      ps aux | grep <Process name>

      <Process name> を実際のプロセス名に置き換えてください。

    2. oom_score_adj の値を確認します。

      cat /proc/<PID>/oom_score_adj

      <PID> を実際の PID に置き換えてください。

      oom_score_adj の値がご使用の環境に適切かどうかを確認してください。oom_score_adj-1000 に設定されているプロセスは OOM キリングの対象外となり、利用可能なメモリが枯渇する原因となる場合があります。