Upgrade to Pro — share decks privately, control downloads, hide ads and more …

落ちる 落ちるよ サーバーは落ちる

Avatar for 末廣雅利 末廣雅利
September 03, 2025

落ちる 落ちるよ サーバーは落ちる

Avatar for 末廣雅利

末廣雅利

September 03, 2025
Tweet

Other Decks in Technology

Transcript

  1. DBは落ちる DBは落ちる DBの子プロセスが異常終了 アプリのとある処理が失敗するのを調査していたところ、 DBの子プロセスが異常終了していた。 20XX-04-07 00:00:01 JST [4734]: [2-1]

    [] LOG: server process (PID 16974) was terminated by signal 29 謎 このDBはSignal 29を利用することはないはずなのに... 日付が変わるタイミングで何かが起きている? 5
  2. DBは何度も落ちる DBは何度も落ちる 発生日時 日付 時刻 4/14 14:00 4/15 20:00 4/16

    13:00 4/16 15:00 発生時刻や間隔はバラバラだが、毎時0分に発生している さらに調査するも 他に異常は見当たらない 影響を受けたアプリは様々 なにかあるはずなのだが... 7
  3. DBは何度も落ちる あらためてログを 見返してみると... PID が同じ! 20XX-04-14 14:00:01 JST [4734]: [2-1]

    [] LOG: server process (PID 16974) was terminated by signal 29 20XX-04-15 20:00:01 JST [4734]: [2-1] [] LOG: server process (PID 16974) was terminated by signal 29 20XX-04-16 13:00:01 JST [4734]: [2-1] [] LOG: server process (PID 16974) was terminated by signal 29 20XX-04-16 15:00:01 JST [4734]: [2-1] [] LOG: server process (PID 16974) was terminated by signal 29 相変わらず原因はわからないが、これなら対策できる! 8
  4. 対策を打つ 問題のPIDを確保する シェルスクリプト #!/bin/sh if [ $$ -ne 16974 ];

    then exit fi trap 'date; echo "Signal 29 received."' 29 while true; do sleep 1 done 問題のPIDを掴むまで実行を繰り返す。 これでDBの子プロセスが落ちることがなくなった。 9
  5. DBはそれでも落ちる DBはそれでも落ちる 今回は少し異なる 20XX-04-16 21:00:01 JST [4734]: [2-1] [] LOG:

    server process (PID 20765) was terminated by signal 29 PIDが変わってるではないか! なぜだ? 11