Skip to content

Mysql占用CPU高的解决方案(show processlist)

约 287 字小于 1 分钟

mysql数据库优化

2020-12-29

问题表现

服务器系统负载高,CPU 长时间接近 100%,通过 top 命令查看得知 mysqld 占用极高,问题锁定 mysql。通常是由于 SQL 语句优化不到位造成的。

本教程主要通过使用 show processlist;命令解决问题。

操作步骤

1、登录 mysql

运行命令

mysql -u root -p

然后输入密码,即可登录 mysql,从而在提示符下输入命令

2、输入 show processlist;命令

show processlist;命令可以查看当前正在执行的线程

运行命令

show processlist;

命令返回的具体参数的含义请自行查看相关资料,这里主要注意 state 字段中如果包含大量的 Sending data、Waiting for tabls、或各种 lock(锁),大概率就是因为这些 SQL 造成的数据库拥堵

解决办法自然是优化对应的 SQL,如希望更进一步,则需要开启查看慢查询日志。

请移步:【数据库】Mysql 占用 CPU 高的解决方案(慢查询)