bitscn.com
mysql里面执行show processlist出现很多sleep状态的线程
由于程序设计的bug,导致目前这个项目使用的数据库中有很多sleep状态的线程。找了很多解决办法,还没发现最终有效的解决方案。只能临时使用如下方法:
编写shell文件,如killsleepprocess.sh
[plain] while : do n=`mysqladmin -uroot -p*** processlist | grep -i sleep | wc -l` date=`date +%y%m%d/[%h:%m:%s]` echo $n if [ $n -gt 10 ] then for i in `mysqladmin -uroot -p*** processlist | grep -i sleep | awk '{print $2}'` do mysqladmin -uroot -p*** kill $i done echo sleep is too many i killed it >> /root/tmp/sleep.log echo $date : $n >> /root/tmp/sleep.log fi sleep 120 #每隔120 秒 执行一次 done
上面shell代码的结果是:将show processlist查询出的所有为sleep状态的线程kill掉
bitscn.com