龙空技术网

如何识别MySQL中的高CPU消耗SQL语句

运维小弟 2062

前言:

而今同学们对“mysql查看数据库占用空间大小”大致比较讲究,咱们都需要学习一些“mysql查看数据库占用空间大小”的相关内容。那么小编在网摘上搜集了一些有关“mysql查看数据库占用空间大小””的相关内容,希望我们能喜欢,兄弟们一起来了解一下吧!

mysql快速定位cpu 占比过高的sql语句

当MySQL数据库的CPU使用率异常升高时,需要快速定位SQL有问题的语句

1、使用top命令找出mysl进程中占用CPU靠前的线程

#找出mysql 的进程号ps -ef | grep mysql#根据进程号,找出占用CPU靠前的线程号top -H -p <mysqld进程id>

top 中,按大写的P ,进行CPU 使用率排序

找到线程ID 号,为39449

2、登录到数据库查询performance_schema和information_schema

-- 查询性能模式中的线程信息 select * from performance_schema.threads;
-- 查询当前运行的进程列表select * from information_schema.processlist

使用以下SQL语句可以查询到具体的线程信息,包括其操作系统线程ID(thread_os_id)和正在执行的SQL语句:贴入, <具体线程id>

SELECT    a. USER,    a. HOST,    a.db,    b.thread_os_id,    b.thread_id,    a.id processlist_id,    a.command,    a.time,    a.state,    a.infoFROM    information_schema.PROCESSLIST a,    performance_schema.threads bWHERE    a.id = b.processlist_idAND b.thread_os_id = <具体线程id>;

标签: #mysql查看数据库占用空间大小