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

相关推荐
顾林海21 分钟前
探秘Android JVM TI:虚拟机背后的"隐形管家"
android·面试·性能优化
伽蓝_游戏12 小时前
UGUI源码剖析(15):Slider的运行时逻辑与编辑器实现
游戏·ui·unity·性能优化·c#·游戏引擎·.net
蒋星熠20 小时前
Flutter跨平台工程实践与原理透视:从渲染引擎到高质产物
开发语言·python·算法·flutter·设计模式·性能优化·硬件工程
float_六七1 天前
数据库连接池:性能优化的秘密武器
数据库·oracle·性能优化
翻滚丷大头鱼1 天前
android 性能优化—ANR
android·性能优化
翻滚丷大头鱼1 天前
android 性能优化—内存泄漏,内存溢出OOM
android·性能优化
Linux运维技术栈1 天前
域名网页加载慢怎么解决:从测速到优化的全链路性能优化实战
运维·网络·nginx·性能优化·cloudflare
荣光波比1 天前
Nginx 实战系列(六)—— Nginx 性能优化与防盗链配置指南
运维·nginx·性能优化·云计算
DemonAvenger1 天前
MySQL内存优化:缓冲池与查询缓存调优实战指南
数据库·mysql·性能优化
前端小万1 天前
一次紧急的现场性能问题排查
前端·性能优化