Skip to content

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

约 398 字大约 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 高的解决方案(慢查询)


相关资源: CentOS计划任务备份Mysql数据库 · Mysql占用CPU高的解决方案 · MySQL数据库关于PID问题的排查 · 云数据库

公众号

本文同步发布于微信公众号 「云计算课代表」,专注云产品实操、运维实战与成本优化。

公众号二维码