欢迎您光临用户专区!

如果服务器的mysqld-nt.exe 占CPU很高

来源:新数据发布时间:2013-5-30 17:44:46
如果服务器的mysqld-nt.exe 占CPU很高,一般是因为MYSQL的数据库中有数据进行采集,或者是数据库出现问题。观察办法是:使用phpmyadmin 进行观察,在phpmyadmin “进程”中查看在线的数据库,点击Kill 删除可疑的进程,如果删除了出错数据库mysqld-nt.exe所占的CPU会马上下降。

发现数据库后可以进行修复,或者禁止该用户使用该数据库。一般CPU过高是因为该用户生成静态或者进行采集。而控制程序池无法解决数据库CPU过高的问题,不知道有什么好办法可以控制某个数据库占数据库CPU。

UPdate:发现该数据库有问题,已经关闭该用户,一切恢复正常。





1.开始 = 运行 cmd
假设你的mysql在D:\wamp\bin\mysql\mysql5.5.8\bin输入以下命令:
1. d:
2. cd wamp
3. cd bin
4. cd mysql
5. cd mysql5.5.8
6. cd bin
就会进入mysql所在程序
输入 mysql -uroot -padmin进入mysql控制台
输入 mysql> show processlist;
查询现在mysql在干什么。
按向上箭头 在查询一边,看哪个数据库查询的语句比较频繁!

一般是睡眠连接过多,严重消耗mysql服务器资源(主要是cpu, 内存),并可能导致mysql崩溃。

mysql的配置my.ini文件中,有一项:
wait_timeout, 即可设置睡眠连接超时秒数,如果某个连接超时,会被mysql自然终止。
如设置: 
wait_timeout=100 #即设置mysql连接睡眠时间为100秒,任何sleep连接睡眠时间若超过100秒,将会被mysql服务自然终止,要比编写shell脚本更简单。
对于正在运行中的生产服务器
以root用户登录到mysql,执行:
set global wait_timeout=100
即可。