记一次mysql占用CPU过高的问题

记一次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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值