服务器监控发现Load Average(负载)飙升,mysqld进程的CPU占用率持续高达150%-200%。排查显示内存充足,非OOM问题,判断为数据库内部高负载操作或死锁所致。

通过MySQL原生命令,可直接查看当前执行的所有线程,快速定位问题SQL。

操作命令

在Linux终端执行以下命令:

mysql -u root -p -e "show full processlist;"

此命令将列出MySQL所有连接线程的详细信息,包括:

  • 正在执行的SQL语句
  • 线程状态
  • 执行时间
  • 连接来源

通过分析Time(执行时间)长、State(状态)异常的线程及其对应的Info(SQL语句),可以快速识别消耗大量CPU资源的慢查询或阻塞进程。