ドキュメント

クイックスタート + 機能・デバイスごとの解説(随時更新中)

クラッシュ保護

本記事では、パネルの「クラッシュ保護」機能——メモリ、CPU、ディスクを自動監視し、サーバーのリソースが枯渇する前に能動的に介入してサーバーのフリーズを防ぐ仕組みを説明します。

一文で理解

サーバーが最も恐れるのは「あるプログラムがエラーを出す」ことではなく、「メモリを使い果たす / CPU が 100% になり、マシン全体が固まって SSH すらつながらず、プロバイダーの管理画面から強制再起動するしかなくなる」ことです。クラッシュ保護は、これが起こる前に、「リソースを食っている」プロセスを自動で見つけ出して処理し、あなたに活路を残します。

機能概要

クラッシュ保護は対象サーバー上に軽量なデーモンをデプロイし、メモリ、CPU、ディスクを継続的に監視します。リソースに異常が現れると自動で介入(異常プロセスを kill)し、OOM(メモリ枯渇)や CPU 暴走によってサーバーが完全にアクセス不能になるのを防ぎます。

なぜ使うのか(OOM / CPU 暴走とは何か)

  • OOM(Out Of Memory、メモリ枯渇):あるプログラムにメモリリークがある、あるいは一度に大量のメモリを要求して、サーバーのメモリをすべて埋め尽くします。このときシステムは自衛のために「プロセスの kill」を始めますが、多くの場合に重要なサービスまで一緒に kill してしまい、最悪の場合はマシン全体がフリーズします。
  • CPU 暴走:あるプログラムが無限ループや異常な計算に陥り、CPU の全コアを埋め尽くします。このとき SSH もパネルもつながらず、ハードリブートしか手段がありません。

こうした障害は多くの場合徐々に進行します——まずあるプロセスが少しずつリソースを食べ、最後に完全にフリーズします。クラッシュ保護の役割は「取り返しがつかなくなる前」に能動的に介入することです。

保護しきい値(既定値)

保護項目既定のしきい値動作
メモリ空きメモリ < 8%介入を発動し、15% 超を消費している異常プロセスを kill(5 分間のクールダウンで頻繁な誤 kill を回避)
CPU負荷 > コア数 × 33 回連続でしきい値を超えたら実行;単一プロセスが 30% 超の場合のみ kill
CPU 極端負荷 ≥ しきい値 × 4即座に介入、連続カウントを待たない(CPU 暴走への対応が間に合わないことを防ぐ)
ディスク使用率 > 92%警告のみ(ファイルの自動削除は行わない)

> これらは検証済みの保守的な既定値で、ほとんどのサーバーは調整なしで安心して使えます。カスタマイズしたい場合は、クラッシュ保護パネルでしきい値を変更できます。

利用シーン

  • サーバー上でメモリが不安定なプログラム(一部の Java アプリ、クローラスクリプトなど)を動かしている
  • サーバーのメモリ自体が小さく、すぐに使い果たされやすい
  • 深夜にフリーズしても無人で気づけない、という事態に備える「最後の防衛線」がほしい

使い方

1. 対象サーバーの「システム管理パネル → クラッシュ保護」に入る

2. 「ワンクリックデプロイ」をクリックすると、パネルが SSH 経由で対象サーバーにデーモンをデプロイ

3. デプロイ後は「デーモン実行中」と表示され、現在の保護しきい値の説明が一覧表示されます

4. 保護が発動したときは、「アラートイベント」で発動時刻、原因(どのプロセス、どれだけリソースを消費したか)、処理アクションを確認できます

デプロイ方式

  • systemd があるサーバー(Debian/Ubuntu/CentOS など):systemd サービスとしてデプロイし、起動時の自動起動 + クラッシュ時の自動復帰(「起動時自動起動」バッジを表示)
  • systemd がないサーバー(Alpine など):nohup 方式にフォールバックして実行(監視は可能ですが、再起動後に自動起動しないため手動で再デプロイが必要)

注意事項

1. ゼロフットプリント:デーモンは独立した軽量スクリプトで、消費リソースはごくわずかであり、対象サーバーの業務に影響しません。

2. ホワイトリスト保護:カーネルスレッドやシステムの重要プロセスは既定では kill せず、誤 kill によるシステムクラッシュを防ぎます。

3. ディスクは警告のみでクリーンアップしない:ディスクが満杯でもあなたのファイルを自動削除しません(重要データの誤削除を防ぐ)。手動対応を促す通知だけを行います。

4. アンインストール:クラッシュ保護パネルで「アンインストール」をクリックすればよく、デーモンと systemd サービスがクリーンアップされます。