记一次mysql占用CPU过高的问题
1.使用top命令查询当前cpu占用最高的进程,发现mysql cpu占用最高到六七百
top -o %CPU
2.多次查询正在运行的mysql线程,发现也没有运行时间很长的sql
SELECT * FROM `performance_schema`.`processlist`
WHERE COMMAND != 'SLEEP' ORDER BY TIME DESC
3.查看processlist发现有很多sleep状态的线程
show full processlist;
4.查看mysql配置,发现以下两个参数均为默认配置
show variables like '%timeout%';
5.于是去后台修改这两个参数为90
vi /etc/my.cnf
[mysqld]
wait_timeout = 90
interactive_timeout = 90
#增加以上两列即可,因为官方文档要求修改此参数必须同时修改
6.由于修改过后效果明显,因此没有再往其他方向深究,例如sql问题等。
参考:https://blog.youkuaiyun.com/bsegebr/article/details/126113494
https://www.zhihu.com/question/22002813/answer/2662962349?utm_id=0
https://www.jianshu.com/p/3568096fd552