あるとき商用のElasticsearchが急に落ちる障害が起きた
「OOMキラー」が発生していたとの報告を受けたが、OOMキラーをよくわかってなかったので調べた
OOMキラー
OOMはOut of Memory
の略で、OOMキラーはLinuxがメモリ不足でシステムが停止する恐れがある際、プロセスを強制的にKILLして物理メモリを空ける仕組み
復旧時には立ち会ってないのでどういうログが出ていたかは確認できていないが、おそらく以下のコマンドで確認できる
$ gcloud compute ssh my-account@my-instance-abcde --zone xxxxxx
ログを確認
$ sudo cat /var/log/messages | grep Killed
原因調査
おそらくVMインスタンスが13G、ESのヒープサイズが8Gなので優先的にOOMキルされた可能性がある
対策
CPUは使ってないのでGCは起きておらず、実際はそんなに使っていないことがわかったのでESのヒープサイズを6Gに
そもそものマシンサイズを下げても良いかも
殺される優先度は設定できるらしいが、vmインスタンスではdstat
コマンドが使えなかった
そもそも下手にシステムを生き延びさせるよりも、即座にシステムをpanicさせる手もあるらしい