MySQL 服务器 sys CPU usage高 问题分析

0    20    1

Tags:

👉 本文共约3171个字,系统预计阅读时间或需12分钟。

最近碰到一个MySQL服务器操作系统内核有关的问题,作为DBA,不光要具备数据库方面的知识,还需要了解运行环境下的排查的一些方式和手段。

高配物理服务器,MySQL日常运行并发也在20以内。但发现cpu的sys使用比较高,并发上升的时候sys值不断上升,最后导致qps,tps下降。严重的时候存在穷住情况发生。

分析思路

需要先了解cpu的sys是什么?什么情况下MySQL会影响cpu?按照这个思路进行排查。

  1. %sy(sys)
    表示CPU 在内核态运行的时间百分比(不包括中断),就是说系统进程消耗CPU 时间,通常内核态 CPU 越低越好,否则表示系统存在某些瓶颈。比如:I/O频繁操作,网络包大量传输,core输出 等情况下。
  2. mysql对于cpu的影响:
    并发太高,连接数满很多线程需要等待,mysql参数控制并发度,大事务 等。

问题分析

指标分析

1.监控sys CPU情况: 日常维持在10%~20%,最高能到到50%
MySQL 服务器 sys CPU usage高 问题分析

2.监控IO等待情况:20%的util
MySQL 服务器 sys CPU usage高 问题分析

3.MySQL运行情况当时运行并发数: 3个线程并行运行
MySQL 服务器 sys CPU usage高 问题分析
5.MySQL限制并发: 无限制

MySQL 服务器 sys CPU usage高 问题分析

6.错误日志,系统日志: 无异常信息

从上面整个mysql的运行情况来说,比较耐人寻味。因为除了反馈sys高,其他指标属于正常范围。

7.使用perf top 和 sar 分析
MySQL 服务器 sys CPU usage高 问题分析
MySQL 服务器 sys CPU usage高 问题分析
MySQL 服务器 sys CPU usage高 问题分析
发现SYS CPU利用率到达79%时,后台运行_reset_isolation_suitable 突然达到98%

  • mov rdi,rax说明:
    将rax寄存器的的数据传送到rdi寄存器,但是rax寄存器的数据本身不破坏
  • reset_isolation_suitable:
    内存碎片管理

搜索相关知识点,大部分都指向内核内存管理有关系。基本肯定是内存的碎片管理导致sys高。

原理分析

1.知识点
CPU指中央处理器,中央处理器的功效主要为处理指令、执行操作、控制时间、处理数据。CPU和内存之间的架构分为两种:
MySQL 服务器 sys CPU usage高 问题分析

2.内存架构
物理内存由node,zone,page三级结构来构成。

本人提供Oracle(OCP、OCM)、MySQL(OCP)、PostgreSQL(PGCA、PGCE、PGCM)等数据库的培训和考证业务,私聊QQ646634621或微信db_bao,谢谢!
MySQL 服务器 sys CPU usage高 问题分析后续精彩内容已被小麦苗无情隐藏,请输入验证码解锁本站所有文章
验证码:
请关注本站微信公众号,回复“小麦苗博客”,获取验证码。在微信里搜索“DB宝”或者“www_xmmup_com”或者微信扫描右侧二维码都可以关注本站微信公众号。

标签:

Avatar photo

小麦苗

学习或考证,均可联系麦老师,请加微信db_bao或QQ646634621

您可能还喜欢...

发表回复

嘿,我是小麦,需要帮助随时找我哦
  • 18509239930
  • 个人微信

  • 麦老师QQ聊天
  • 个人邮箱
  • 点击加入QQ群
  • 个人微店

  • 回到顶部