【状況】
Wordpressのサイトが
データベース接続確立エラー
とか
Error establishing a database connection
とか言ってきた。
サーバに入ってMySQLのプロセスを確認
ps aux | grep mysql
→ない。
→ログ確認
/var/log/messages
May 22 14:46:25 hogehoge kernel: [36271139.069945] php-fpm-5.5 invoked oom-killer: gfp_mask=0x201da, order=0, oom_score_adj=0
cat /var/log/messages | grep Killed
May 22 14:46:25 hogehoge kernel: [36271139.527800] Killed process 2559 (mysqld) total-vm:2066588kB, anon-rss:761800kB, file-rss:0kB
MySQLがoom-killerにより落とされた模様。
■mysqlのoom_killerの優先度を下げる
【参照】
http://hacknote.jp/archives/8356/hacknote.jp
強制終了プロセスの優先順位を以下の様にすることで
mysqlは殺されないようになる
vi /srv/bin/oom_update.sh
#!/bin/sh # down mysql score mysql_pid=`cat /var/run/mysqld/mysqld.pid` if [ "$mysql_pid" != "" ]; then echo "-17" > /proc/${mysql_pid}/oom_adj else echo "can't get pid number" fi
chmod +x /srv/bin/oom_update.sh
/srv/bin/oom_update.sh
# 確認
dstat --top-oom
--out-of-memory--- kill score php-fpm: pool 52