はじめに
AWSで稼働しているwordpressのmysqlが突如down!
原因を探っていくと、高負荷時にOutOfMemoruになりOOM Killerが発動したことがわかった
原因
AWSのkusanagi AMIはデフォルトでswap設定されていない。デフォルトでswapの設定がされてなく、memoryがフルになると、すぐにOOM killerが発動されてしまう
対処
swapの設定を適切にした
cat /proc/swaps dd if=/dev/zero of=/swapfile bs=1M count=2048 chmod 600 /swapfile mkswap /swapfile swapon /swapfile free -m
fstabにswapfileの設定を追加
/swapfile swap swap defaults 0 0
加えてやったこと
かなり簡易的な監視だけど、もし必要なミドルウェアが落ちてしまった場合、自動で立ち上げるようcronをいれた。
* * * * * ps ax |grep -v grep | grep -q mysql || sudo systemctl start mysql * * * * * ps ax |grep -v grep | grep -q nginx || sudo systemctl start nginx
その後安定稼働している