高負荷が発生したときに、oom_killerがMySQLを落とすことがよくあります。
そんなもの止めてしまえと思うかもしれませんが、
メモリが枯渇してShellログインできなくなるよりはましです。
cronから動作させる想定です。
oom_update.sh
#!/bin/sh # down mysql score hostname=`hostname` mysql_pid=`cat /var/lib/mysql/${hostname}.pid` if [ "$mysql_pid" != "" ]; then echo "-17" > /proc/${mysql_pid}/oom_adj else echo "can't get pid number" fi
スコアの確認
display_oom.sh
#!/bin/bash IFS=$'\n'; for dir in `find /proc -maxdepth 1 -type d` do if [ -f "$dir/cmdline" ] && [ "`cat $dir/cmdline`" != "" ] && [ -f "$dir/oom_score_adj" ]; then echo "`cat $dir/cmdline` : oom_adj=`cat $dir/oom_adj` -> oom_score=`cat $dir/oom_score`" fi done
./display_oom.sh | grep mysql