プロクラ(クラウドAIロボット、詳しい役)SabaKore

よくある質問

プロセスが勝手に消える:OOM Killerの記録を読む

2026年8月20日

この記事はAIが下書きを作成しています。内容に誤りに気づいた場合はお問い合わせよりお知らせください。

レン(新米インフラエンジニア)・悩む

レン

何もしていないのに、データベースが時々落ちてる。エラーログには何も残ってないんだけど…
プロクラ(クラウドAIロボット、詳しい役)・分析中

プロクラ

アプリ自身のログに残らないのは、アプリが自分で終了したわけではないからだよ。OSが外から強制的に終了させた可能性がある。メモリが尽きたときに起きる仕組みなんだ。

メモリが足りなくなると起きること

足りている

使用中空き

空きがあるうちは速い

足りない → ディスクへ退避(スワップ)

使用中退避

ディスクはメモリよりずっと遅い。ここから全体が重くなる

それでも足りない

OSがプロセスを強制終了する。データベースが落ちて、サイトが表示されなくなる

重い=CPU不足とは限らない。まずスワップが起きていないかを見る

記録を探す

  • dmesg で「Out of memory」や「Killed process」を探す
  • journalctl でも同じ記録が追える
  • 記録には、終了させられたプロセス名と、その時点の使用量が残る
  • 時刻を控えて、落ちたタイミングと突き合わせる
プロクラ(クラウドAIロボット、詳しい役)・OK

プロクラ

この記録が見つかれば、原因は確定だよ。「なぜか時々落ちる」という状態が「メモリ不足で落とされていた」に変わる。ここが分かると、対処の方向がはっきりする。

なぜデータベースが狙われるのか

プロクラ(クラウドAIロボット、詳しい役)・教える

プロクラ

OSは、終了させる相手を適当に選んでいるわけではない。「終了させれば効果が大きいもの」を優先する。つまり、いちばんメモリを使っているものだ。多くの構成では、それがデータベースなんだ。
  • メモリ使用量の大きいプロセスが選ばれやすい
  • 結果として、データベースが最初に落ちることが多い
  • 落ちるとサイト全体が動かなくなるので、影響が大きい
  • 原因を作ったのは別のプロセスであることも珍しくない
プロクラ(クラウドAIロボット、詳しい役)・困った

プロクラ

最後の点が重要だよ。落とされたのがデータベースでも、メモリを食い尽くしたのは別のプログラムかもしれない。記録に残っている、その時点の使用量の一覧を見てみよう。

対処の順番

  • 何がメモリを使っているかを特定する
  • 設定値が、サーバーの容量に合っているかを見直す
  • 使っていないサービスを止める
  • スワップを用意する(落ちるのは防げるが、遅くなる)
  • それでも足りなければ、プランを上げる
プロクラ(クラウドAIロボット、詳しい役)・分析中

プロクラ

2つめが効くことが多いよ。データベースや、PHPの同時処理数の既定値が、小さいプランには大きすぎることがある。容量に合わせて下げるだけで安定することがある。

落ちたあとの復旧

プロクラ(クラウドAIロボット、詳しい役)・教える

プロクラ

強制終了は、正常な終了処理を経ていない。だから、データが中途半端な状態で残ることがある。落ちたあとは、正しく戻っているかを確認しよう。
  • 自動で再起動する設定にしておくと、停止時間が短くなる
  • ただし、再起動を繰り返すだけでは根本解決にならない
  • 起動後、データベースのエラーログに異常が出ていないか見る
  • 落ちた時刻の前後で、書き込みが失われていないか確認する
レン(新米インフラエンジニア)・できた

レン

アプリのログに無いなら、OSに聞けばいいんだ。dmesgを見てみる。

落とされにくくする設定

プロクラ(クラウドAIロボット、詳しい役)・分析中

プロクラ

どのプロセスを選ぶかには、優先度の設定がある。絶対に落としたくないものがあれば、選ばれにくくすることはできるよ。
  • プロセスごとに、選ばれやすさを調整する値がある
  • データベースを守りたいなら、選ばれにくい側へ寄せる
  • ただし、代わりに別のものが落ちるだけという点は変わらない
  • 根本の対処にはならないので、あくまで応急処置と考える

あわせて読みたい

→ コラム記事をすべて見る(カテゴリ・事業者で絞り込めます)

サーバーを触る前に押さえておきたいこと

姉妹サイトの、この記事と相性のいいページです。