한국어English日本語简体中文繁體中文DeutschไทยTiếng ViệtРусскийPortuguês (Brasil)EspañolBahasa Indonesia

ゲームラグ白書 › L9 サーバーのゲームプロセス

サーバークラッシュ Server process crash

原因ID sp-crash · 主担当 ゲーム開発チーム・サーバー開発 · 副担当 インフラチーム・サーバーインフラ

図と実験のあるメインページでこのカードを開く →

未処理のエラーでサーバープロセスが落ちると、そのサーバーにいた全員が同時に切断されます。

なぜ 存在しない対象を参照するエラー(null参照)、不正なデータ、メモリ不足などの致命的なエラー → すると サーバー(またはゾーン)のプロセスが終了 → 画面では 全員が同時に切断、最後の保存以降の進行はロールバックされることがある

症状
切断, 不発・ロールバック
要因
ストール
誰に起きるか
特定の場所・チャンネル, サーバー全体
いつ
ときどきランダムに, 特定の操作をしたとき
担当
主担当 ゲーム開発チーム・サーバー開発 · 副担当 インフラチーム・サーバーインフラ
ゲーム開発チームの対応
クラッシュダンプの分析による原因の修正、こまめな保存。
インフラチームの対応
プロセスの自動再起動、クラッシュダンプの収集・保管環境、サーバーダウン時の即時アラート。
グラフでは
接続が一斉に切れる · 接続数、プロセスの再起動回数
確認箇所
coredumpctl listのコアダンプ記録(時刻、PID、終了シグナル)と、サービスマネージャー(systemd)の異常終了・再起動の記録。WindowsサーバーはWERが残したダンプファイル
該当する場合
接続数が一瞬で0近くまで落ちた時刻に、ゲームサーバープロセスの異常終了とコアダンプがある
該当しない場合
プロセスは動き続けているのに接続が切れたなら、ネットワーク機器・アイドルタイムアウトの側。長く止まった後にウォッチドッグが再起動した記録なら、無限ループ・デッドロックの側
確認手段
インフラのツールで確認(ゲームコード不要)

出典

  1. Collecting User-Mode Dumps Microsoft
    Windowsエラー報告(WER)で、ユーザーモードのプログラムがクラッシュしたときにフルダンプ・ミニダンプをローカルに収集するよう設定
  2. systemd.service(5) — Linux manual page systemd
    Restart=on-failureは、異常終了・シグナルによる終了(コアダンプを含む)・ウォッチドッグのタイムアウト時にサービスを自動再起動、長時間動くサービスに推奨
  3. coredumpctl(1) — Linux manual page systemd
    systemd-coredumpが保存したコアダンプをlistで一覧表示、クラッシュの時刻・PID・クラッシュを起こしたシグナルを表示

あわせて読みたい原因

同じ層:L9 サーバーのゲームプロセス

同じ症状(切断)を起こすほかの層の原因

図と実験のあるメインページでこのカードを見る