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

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_schemainformation_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.info
FROM
    information_schema.PROCESSLIST a,
    performance_schema.threads b
WHERE
    a.id = b.processlist_id
AND b.thread_os_id = <具体线程id>;
相关推荐
yige455 分钟前
【MySQL】MySQL内置函数--日期函数字符串函数数学函数其他相关函数
android·mysql·adb
星辰_mya1 小时前
InnoDB的“身体结构”:页、Buffer Pool与Redo Log的底层奥秘
数据库·mysql·spring·面试·系统架构
Rysxt_3 小时前
MySQL 触发器详解与 Navicat 实战操作指南
mysql·触发器·navicat
XXOOXRT3 小时前
Ubuntu搭建Java项目运行环境(JDK17+MySQL8.0)超详细教程
java·linux·mysql·ubuntu
tianyuanwo3 小时前
MySQL 深度解析:从核心概念到实战指南,及数据库选型决策
数据库·mysql·centos
祭曦念4 小时前
MySQL基础运维:mysqldump全量备份与恢复实操 | 新手可直接落地的备份指南
运维·数据库·mysql
wenlonglanying5 小时前
MYSQL的第一次作业
数据库·mysql
欧洵.5 小时前
MySQL:事务详细
数据库·mysql·oracle
.生产的驴6 小时前
1Panel实战|SpringColud微服务部署生产环境一键部署Docker+Nacos+MySQL 数据定时备份 控制台 安全高效易维护
服务器·后端·mysql·spring cloud·docker·微服务·信息可视化
Meepo_haha6 小时前
【JOIN】关键字在MySql中的详细使用
数据库·mysql