在MySQL中kill僵死进程的脚本
Linux 2006/01/11 11:25 MySQL + PHP的模式在大并发压力下经常会导致MySQL中存在大量僵死进程,导致服务挂死。为了自动干掉这些进程,张博士弄了个脚本,放在服务器后台通过crontab自动执行。发现这样做了以后,的确很好的缓解了这个问题。把这个脚本发出来和大家Share. :)
[CODE]/usr/local/mysql/bin/mysqladmin -uroot -p"xxxxx" processlist | awk '{ print $12 , $2 ,$4}' | grep -v Time | grep -v '|' | sort -rn > timeout.log awk '{if($1>30 && $3!="root") print "/usr/local/mysql/bin/mysql -e " "\"" "kill",$2 "\"" " -uroot " "-p""\"""xxxxx""\"" ";" }' timeout.log > kill_timeout.sh echo "check start ...." >> kill_timeout.log echo `date` >> kill_timeout.log sh /root/kill_timeout.sh[/CODE]
[CODE]/usr/local/mysql/bin/mysqladmin -uroot -p"xxxxx" processlist | awk '{ print $12 , $2 ,$4}' | grep -v Time | grep -v '|' | sort -rn > timeout.log awk '{if($1>30 && $3!="root") print "/usr/local/mysql/bin/mysql -e " "\"" "kill",$2 "\"" " -uroot " "-p""\"""xxxxx""\"" ";" }' timeout.log > kill_timeout.sh echo "check start ...." >> kill_timeout.log echo `date` >> kill_timeout.log sh /root/kill_timeout.sh[/CODE]

