Mysql里面执行show processlist出现很多Sleep状态的线程

页面导航:首页 > 数据库 > Mysql > Mysql里面执行show processlist出现很多Sleep状态的线程

Mysql里面执行show processlist出现很多Sleep状态的线程

来源: 作者: 时间:2016-02-18 10:28 【

Mysql里面执行show processlist出现很多Sleep状态的线程由于程序设计的Bug,导致目前这个项目使用的数据库中有很多Sleep状态的线程。找了很多解决办法,还没发现最终有效的解决方案。只能
Mysql里面执行show processlist出现很多Sleep状态的线程
 
由于程序设计的Bug,导致目前这个项目使用的中有很多Sleep状态的线程。找了很多解决办法,还没发现最终有效的解决方案。只能临时使用如下方法:
 
编写shell文件,如killSleepProcess.sh
 
[plain] 
while :  
do  
  n=`admin -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掉
 
 
Tags:

文章评论

最 近 更 新
热 点 排 行
Js与CSS工具
代码转换工具

<