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

相关推荐
夜月yeyue6 小时前
个人写HTOS移植shell
c++·mcu·算法·性能优化·架构·mfc
夜月yeyue7 小时前
ART 加速器、流水线与指令预测的关系详解
linux·服务器·c语言·单片机·嵌入式硬件·性能优化·嵌入式高阶技巧
度熊君8 小时前
深入解析 Matrix FrameTracer:Android 帧率监控的实现与源码剖析
性能优化
DASXSDW11 小时前
NET性能优化-使用RecyclableBuffer取代RecyclableMemoryStream
java·算法·性能优化
国科安芯11 小时前
ASP3605电源芯片的性能优化与改进思路
网络·单片机·嵌入式硬件·安全·性能优化
TechMix11 小时前
【性能优化】帧率优化方法:第一步——量化
性能优化
lang2015092811 小时前
MySQL 8.0性能优化终极指南
数据库·mysql·性能优化
TDengine (老段)2 天前
TDengine 时序函数 MAVG 用户手册
大数据·数据库·物联网·性能优化·时序数据库·iot·tdengine
心.c2 天前
一套完整的前端“白屏”问题分析与解决方案(性能优化)
前端·javascript·性能优化·html
qq_252924192 天前
PHP 8.0+ 极限性能优化与系统级编程
开发语言·性能优化·php