MySQL服务进程占用系统CPU达100%

故障现象:ping云主机严重丢包,丢包率达99%,仅有一两个包可到达;更无法远程;

排查:云主机 CentOS6.4 后台查看CPU占用高达99% 还好能登入系统,操作也并不卡顿;
top查看 mysql服务进程占用CPU达100%
如图:

两分钟后,系统卡死;
(若是系统没有卡死的话还可以经确认后重启mysql服务,以结束连接;)

系统卡死无奈只能重启系统;
重启后CPU直线下降:

不再丢包,远程服务正常;

分析:MySQL服务为何严重占用系统资源?
与MySQL服务配置与管理有关!
登录mysql数据库:
mysql> show processlist;

show processlist 命令的输出结果显示了有哪些线程在运行,可以帮助识别出有问题的查询语句。
Id User Host db Command Time State Info
207 root 192.168.0.20:51718 mytest Sleep 5 NULL

第一列,id,不用说了吧,一个标识,你要kill一个语句的时候很有用。
user列,显示单前用户,如果不是root,这个命令就只显示你权限范围内的sql语句。
host列,显示这个语句是从哪个ip的哪个端口上发出的。呵呵,可以用来追踪出问题语句的用户。
db列,显示这个进程目前连接的是哪个数据库。
command列,显示当前连接的执行的命令,一般就是休眠(sleep),查询(query),连接(connect)。
time列,此这个状态持续的时间,单位是秒。state列,显示使用当前连接的sql语句的状态,很重要的列,后续会有所有的状态的描述,请注意。
state只是语句执行中的某一个状态,一个sql语句,已查询为例,可能需要经过copying to tmp table,Sorting result,Sending data等状态才可以完成。
info列,显示这个sql语句,因为长度有限,所以长的sql语句就显示不全,但是一个判断问题语句的重要依据。
常见问题 :
一般是睡眠连接过多,严重消耗mysql服务器资源(主要是cpu, 内存),并可能导致mysql崩溃。
(所以说DBA要尽职尽责)
解决办法 :
mysql的配置my.ini文件中,有一项:
wait_timeout, 即可设置睡眠连接超时秒数,如果某个连接超时,会被mysql自然终止。
wait_timeout过大有弊端,其体现就是MySQL里大量的SLEEP进程无法及时释放,拖累系统性能,不过也不能把这个指设置的过小,否则你可能会遭遇到“MySQL has gone away”之类的问题,通常来说,我觉得把wait_timeout设置为10是个不错的选择,但某些情况下可能也会出问题,比如说有一个CRON脚本,其中两次SQL查询的间隔时间大于10秒的话,那么这个设置就有问题了(当然,这也不是不能解决的问题,你可以在程序里时不时mysql_ping一下,以便服务器知道你还活着,重新计算wait_timeout时间):
mysql> show global variables like 'wait_timeout';
+----------------------------+-------+
| Variable_name | Value |
+----------------------------+-------+

mysql> set global wait_timeout=20;
至此,mysql占用cpu下降了

拓展:停止MySQL服务后进程若还在,则可以杀死进程;

ps -ef | grep mysql            #查询mysql进程号
kill -9 进程号                #强制杀死进程

小生拙见,请各位不吝赐教;

时间: 2024-09-15 05:32:30

MySQL服务进程占用系统CPU达100%的相关文章

Win7系统CPU使用率100怎么办?

  Win7系统CPU使用率100怎么办?1.按下键盘的"Ctrl+alt+del"组合键,打开任务管理器,或者在任务栏上点击鼠标右键,启动任务管理器,两种方法都是可以进行操作的. 2.任务管理器界面,点击进程打开,然后我们选择占用CPU非常高的进程,然后关闭进程,这样可以降低CPU的使用率,这里每个进程都有具体的介绍,将一些自己确定不使用但是还非常占用CPU进程关闭,这里一些系统进程不要关闭比如,SVCHOST.EXE进程. 3.性能里面,我们可以监视CPU的使用率.打开资源监视器.

WindowsXP系统CPU使用率100%解决办法

  经常出现CPU占用100%的情况,主要问题可能发生在下面的某些方面: CPU占用率高的九种可能 1.防杀毒软件造成故障 由于新版的KV.金山.瑞星都加入了对网页.插件.邮件的随机监控,无疑增大了系统负担.处理方式:基本上没有合理的处理方式,尽量使用最少的监控服务吧,或者,升级你的硬件配备. 2.驱动没有经过认证,造成CPU资源占用100% 大量的测试版的驱动在网上泛滥,造成了难以发现的故障原因.处理方式:尤其是显卡驱动特别要注意,建议使用微软认证的或由官方发布的驱动,并且严格核对型号.版本.

Win8系统腾讯QQ占用大量CPU空间怎么解决

Win8系统腾讯QQ占用大量CPU空间怎么解决   方法一.将没用的好友和群聊天记录删除 有关win8系统里面的QQ的聊天记录其实就是一个数据库,尤其是qq群里面每天的聊天记录非常的多,这无疑给这个数据库增加了很大的内存负担.如此反复的长时间下去,电脑里面的CPU和硬盘都要承担很大的符合.因此一定要及时的把没用的 qq号和一些聊天群的记定时定期的进行删除,这样就能够释放一部分的空间,保证上网速度更顺畅. 方法二.QQ进程的优先级设置为"低于规范".

关于CentOS 6下Hadoop占用系统态CPU高的处理办法

关于CentOS 6下Hadoop占用系统态CPU高的处理办法 一次不经意发现Hadoop的系统态CPU使用率很高,然后百度一下居然是个已知问题.     RHEL6优化了内存申请的效率,而且在某些场景下对KVM的性能有明显提升:http://www.linux-kvm.org/wiki/images/9/9e/2010-forum-thp.pdf.     而Hadoop是个高密集型内存运算系统,这个改动似乎给它带来了副作用.理论上运算型Java程序应该更多的使用用户态CPU才对,Cloude

实时获取系统每个进程占用的CPU

本文的目的是为了和大家讨论一个问题,同时给出一个根据进程ID,来返回该进程实时占用的CPU使用率的函数.希望大家在用这个函数的时候别忘记我的问题. 目前计算进程CPU占用率的方法主要有两种,一种是根据时间来计算,另一种根据注册表计算,我使用的是前者.前者方法原理:在一个特定时间段内计算特定进程的总时间和所有进程的总时间,它们的比值就是那个特定进程的确CPU占有率. 我写了一个函数(改写),以进程的ID作为参数,进程CPU占用率作为返回值,实时计算特定进程的CPU占用,测试正确.整个程序如下: 结

CPU使用率100%怎么解决?

我们在使用WindowsXP操作系统的时候,用着用着系统就变慢了,一看"任务管理器"才发现CPU占用达到100%.这是怎么回事情呢?遇到病毒了,硬件有问题,还是系统设置有问题,在本文中笔者将从硬件,软件和病毒三个方面来讲解系统资源占用率为什么会达到100%. 经常出现CPU占用100%的情况,主要问题可能发生在下面的某些方面: CPU占用率高的九种可能 1.防杀毒软件造成故障 由于新版的KV.金山.瑞星都加入了对网页.插件.邮件的随机监控,无疑增大了系统负担.处理方式:基本上没有合理的

分享CPU使用率100%的解决方法【图】

在开启一些游戏或者大型软件的时候,CPU使用率很容易达到100%,导致电脑运行速度很慢,甚至出现卡机,假死,蓝屏等状况,那么CPU使用率100%是什么原因造成的呢?CPU使用率100%怎么解决呢?     CPU使用率100%的几种可能: 1.CPU型号老旧,处理能力差; 有的电脑开十几个网页就会出现假死,这是因为现在网页中一般含有大量flash或者js代码,这些东西看上去没有多大,但是跟图片或者文字相比,需要数倍甚至十几倍的计算量,会占用大量CPU资源. 2.开启的软件过多,尤其是大型软件,例

开机CPU就是100%cmd.exe病毒进程清除方法_病毒查杀

发布时间:2007-02-09  中毒症状:      开机CPU就是100%,查进程,原来是cmd.exe 占用了绝大部分的CPU.关闭cmd.exe后,CPU实用率恢复正常.但是再次开机的时候,CPU又是100%,cmd.exe 依然占用了绝大部分的CPU. 1.装了ewido 查杀木马,查出了几个感染目标,已删除.但是今 天早上开机,CPU又是100%,cmd.exe 依然占用了绝大部分的CPU. 2.再装"木马清除专家2006",查杀,结果没有发现木马. 3.查system 3

解决Win7系统cpu使用率高的方法汇总

Win7系统cpu使用率高的解决方法汇总: 1.你打开任务管理器,再点进程,看哪些程序占用了CPU,然后关掉就可以了. 2.在任务管理器中看看是那个进程占用CPU比较大,找到这样的进程后在百度上搜一下这个进程是干什么用的,知道是干什么用的之后就可以决定是留还是关. 3.使用3方软件,诸如超级兔子,硬件大师之流的. 4.木有办法,win7的内存太大了之前我用xp的才9%,换了win7的达到了21%,所谓的鱼和熊掌不能兼得. 5.关闭相应占用cpu多的程序,但是,要确定它是安装软件后自动启动的噢,有