mysql服务器CPU利用率过高排查

1、背景

监控平台告警mysql服务器CPU利用率过高。当时第一反应是平时的CPU利用率一直都在50%以下,怎么会突然过高呢?怀疑是有某些sql语句导致的。

2、排查过程

1、通过ps命令查找mysql进程ID

ps aux |grep mysqld

假设找到的pid为1796

2、使用top查找高CPU利用率的线程ID


top -Hp 1796

记录高CPU利用率的线程ID,例如:12345

3、找到线程对应的sql语句

SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST WHERE ID = (SELECT THREAD_ID FROM performance_schema.threads a WHERE THREAD_OS_ID = 12345);

看到有一条长sql执行了2min还没结束。

结论:是这条sql导致的CPU利用率过高

4、sql优化
通过EXPLAIN去分析查询sql

  • 减少查询行数
  • 使用索引查询

总结:通过利用率过高的mysql线程id找到 对应的执行sql ,然后通过EXPLAIN去优化查询语句。

相关推荐

  1. mysql服务器CPU利用率排查

    2024-07-16 13:20:04       15 阅读
  2. 排查服务器cpu运行

    2024-07-16 13:20:04       21 阅读
  3. 如何排查cpu使用

    2024-07-16 13:20:04       41 阅读
  4. 服务器CPU使用的原因

    2024-07-16 13:20:04       33 阅读
  5. Mysql:慢cpu慢sql查询方法

    2024-07-16 13:20:04       47 阅读
  6. Oracle数据库服务器CPU占用率巨的问题排查思路

    2024-07-16 13:20:04       28 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-16 13:20:04       49 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-16 13:20:04       53 阅读
  3. 在Django里面运行非项目文件

    2024-07-16 13:20:04       42 阅读
  4. Python语言-面向对象

    2024-07-16 13:20:04       53 阅读

热门阅读

  1. VUE中使用this.$emit()的使用进行父子组件之间传值

    2024-07-16 13:20:04       16 阅读
  2. Python-数据爬取(爬虫)简介

    2024-07-16 13:20:04       19 阅读
  3. 讲解机器学习中的 K-均值聚类算法及其优缺点

    2024-07-16 13:20:04       19 阅读
  4. c++单例模式

    2024-07-16 13:20:04       23 阅读
  5. ArrayList详解

    2024-07-16 13:20:04       20 阅读
  6. 系统架构设计师知识点总结目录篇

    2024-07-16 13:20:04       19 阅读
  7. StudentRequest

    2024-07-16 13:20:04       15 阅读
  8. Mysql知识大全

    2024-07-16 13:20:04       14 阅读
  9. 系统架构师(每日一练)

    2024-07-16 13:20:04       18 阅读