A Simple Approach to Troubleshooting High CPU in MySQL
https://www.percona.com/blog/2020/04/23/a-simple-approach-to-troubleshooting-high-cpu-in-mysql/
当发现MySQL占用高CPU,可采用如下方法来定位问题:
1.用pidstat定位MySQL进程中占用CPU高的线程TID
2.根据线程TID从perfomance_schema.threads.thread_os_id找到SQL
3.分析SQL的执行计划,找到异常原因
4.修复问题,验证已解决
示例如下:
1.用pidstat定位MySQL进程中占用CPU高的线程TID
pidstat -t -p <mysqld_pid> 1
2.根据线程TID从perfomance_schema.threads.thread_os_id找到SQL
3.分析SQL的执行计划,找到异常原因
4.修复问题,验证已解决