当前位置: 首页 > news >正文

Mariadb cpu 93% 问题

最近项目遇到cpu平均使用率93%

一、登录数据库服务查看具体情况

可以看到服务器负载很高,,mariadb CPU使用已达到接近380.4% (因为是8核,所以会有超过100%的情况)。如下图:

二、排查是否有耗时较长sql

在服务器上执行mysql -u root -p之后,输入show full processlist; 可以看到正在执行的语句

登录数据库,我这里用的是dbeaver,执行show full processlist;

发现确实有条慢sql:select *from pump_event_his where msg_id='';

分析:这张表有500万+数据,且走全表扫描,要3.84s

通过EXPLAIN分析SQL语句

explain

select *from pump_event_his where msg_id='';

解决方法:给msg_id加个索引,再次查询后16ms

验证效果:

a.查询时间大幅度缩短(再次执行查询语句)

b.CPU负载很轻(执行top脚本)

三、如果排查不出问题,再看看下面的情况

1.查看磁盘空间

df -h

2.查看linux服务器查看CPU逻辑个数(查出来是8)

cat /proc/cpuinfo

cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c

cat /proc/cpuinfo |grep "processor"|wc -l

2.1查看每个CPU核心数

cat /proc/cpuinfo |grep "cores"

3.查看cpu使用率,按照CPU使用率倒序

top

4.查看该进程下所有线程,按大写P按cpu排序

top -Hp 337499

5.具体到某个线/进程的stack信息

pstack 337499

6.跟踪某个pid的starce信息

strace -o output.txt -T -tt -e trace=all -p 337499

相关文章:

  • SpringBoot Web 入门
  • 线上问题排查
  • 年度工作计划总结述职报告PPT模版一组分享
  • 第19天-Python自动化生成PPT图文教程(基于python-pptx)
  • 5-码蹄集600题基础python篇
  • 人工智能解析:技术革命下的认知重构
  • C语言—Linux环境下CMake设置库(动态/静态)
  • 前端面经-WebGL/threeJS
  • 【Java高阶面经:微服务篇】9.微服务高可用全攻略:从架构设计到自动容灾
  • Java 实现四种单例(都是线程安全)
  • 工程优化大纲
  • 高并发架构设计之限流
  • Linux查 ssh端口号和服务状态
  • 通过 curl 精准定位问题
  • 什么是实时流数据?核心概念与应用场景解析
  • 如果教材这样讲--单片机IO口Additional Functions和 Alternate Functions的区别
  • PaddleOCR的Pytorch推理模块
  • PostgreSQL使用
  • SQL 查询来查看 PostgreSQL的各连接数
  • 海康NVR录像回放SDK原始流转FLV视频流:基于Java的流媒体转码(无需安装第三方插件ffmpeg)
  • 传统文化网站建设/谷歌手机网页版入口
  • c# java 网站开发/软文标题写作技巧
  • 自己做的网站套dedecms教程/网络营销策划与创意
  • 淘宝网发布网站建设/南宁seo全网营销