包虫病

首页 » 常识 » 问答 » mysql的cpu高定位
TUhjnbcbe - 2021/5/31 18:33:00

导致数据库CPU很高的原因有很多种,一般和慢SQL也有关(因为每条SQL要么占CPU高,要么占IO高,大体是这样)。

(1)、如果服务器有多个mysql实例,需要通过top命令看看是哪个mysql实例导致的cpu高(如果不是mysql导致的cpu高,需要优化其他导致cpu的程序):

(2)、定位到占用cpu高的线程

通过top命令发现mysql占用CPU高,再看mysql进程下有多少线程占用CPU高:top-H-p[pid]

可以看到有一个mysql的线程占用的cpu较高

(3)、可以通过performance_schema.threads和information_schema.processlist表定位到该线程执行的sql(仅支持mysql5.7及以上,如果是mysql5.7以下的版本只能优化information_schema.processlist中执行时间较长的sql)

SELECTa.THREAD_OS_ID,b.user,b.host,b.db,b.

1
查看完整版本: mysql的cpu高定位