性能监控——cpu使用率过高,该怎么分析?
目录
- 一、前言
- 二、链路分析
- 2.1 us
- 2.2 wa
- 2.3 sy
- 2.4 si
- 三、写在最后
- 参考链接:[cpu热点分析](http://blog.sina.com.cn/s/blog_61d758500102v532.html) 最后,CPU的数据分析可以总结为下面这张图。 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20200627232909283.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM3Njg4MDIz,size_16,color_FFFFFF,t_70)
一、前言
在博客 基于Docker搭建node-exporter+Prometheus+Grafana服务器监控平台 已经搭建好服务器监控平台。
在 Linux服务器监控,你必须要知道的“指标”和“命令”! 中归纳出服务器性能监控中需要重点关注的几大模块。而cpu作为重点关注的模块,需要注意下面这些和cpu相关的指标数据。
在实际的性能测试过程中,cpu的性能问题大部分都体现在us(user)、wa(iowait)、sy(system)、si(softirq)
这几个数据中。并且通过Grafana展示数据中,我们可以看到,关于cpu的数据也只是展示了total、user、system、iowait这几个数据。下面就是通过常见的几个数据的分析过程。
二、链路分析
当我们在性能测试过程中,发现是操作系统层面的瓶颈时,首先需要看的就是CPU相关数据。通过top
、mpstat
命令查看us
、wa
、sy
、si
的数据是否正常,当然也可以用前面说到的Grafana平台,当然这个平台最后的本质也是使用的相关命令。
一般来说us>70%就高了,sy>30%就高了,wa>5%就高了
,可以通过这个标准来看是那部分cpu使用率过高。关于si
的数据,是最好为0,虽然Grafana中没有展示si的数据,但是可以通过total-us-sy-wa
来判断是不是其他部分cpu使用率过高。一般来说total-us-sy-wa
的值接近于0。
2.1 us
us为
CPU运行(未调整优先级的)用户进程时间占比
,典型的用户进程有:Shells、数据库、Web服务器…
CPU使用率中us的使用率过高时的分析流程如下:
2.2 wa
wa(iowait)为CPU用于
等待IO完成的CPU时间占比
,一般IO操作
特别频繁时,这个值就会高。
CPU使用率中wa的使用率过高时的分析流程如下:
2.3 sy
sy(system)为
CPU运行内核进程时间占比
,分配内存、IO操作、创建子进程都是内核操作.
CPU使用率中sy的使用率过高时的分析流程如下:
2.4 si
si(softirq)为
CPU处理软件中断时间占比
。软件中断的含义为:CPU 正在运行时,突然来了一个优先级高
的,这时就会发一个中断信号
给 CPU。作为一个干活的,CPU就把手头的工作现场保存一下,干这个优先级高的活。除非这个中断是致命的,不然 CPU 会在干完这个活之后再回去干之前的活,这就是一次软件中断。
CPU使用率中si的使用率过高时的分析流程如下:
三、写在最后
参考链接:cpu热点分析
最后,CPU的数据分析可以总结为下面这张图。
性能监控——cpu使用率过高,该怎么分析?相关推荐
- Linux CPU性能优化 —— CPU使用率及高CPU使用率排查
文章目录 CPU使用率的定义 查看CPU使用率:top和pidstat 排查高CPU使用率:pref 参考文献 写在前面: 由于之前在开发分布式系统中由于云服务器性能原因,导致系统总是断连等错误.但是 ...
- 电脑CPU使用率过高怎么办
cpu使用率高是网民经常遇到的问题,CPU使用率高其实就是你运行的程序占用的CPU资源,说明你的机器在这个时间上运行了很多程序.长期使用会让CPU长时间处于高热状态会对影响cpu寿命产生点影响,CPU ...
- Java 占用CPU使用率很高的分析
前几天在测试服务器上发现Java进程的CPU使用率暴高,为了分析解决该问题,把过程记录如下: 1. 先找到Java的进程号 Linux下: 用top命令查看所有进程,可以明显看到Java的,因为CPU ...
- 【linux性能优化】CPU使用率过高分析
最常用什么指标来描述系统的 CPU 性能呢? 可能不是平均负载,也不是 CPU上下文切换,而是另一个更直观的指标CPU使用率 CPU使用率是单位时间内CPU使用情况的统计,以百分比的方式展示 那么,作 ...
- 06 | 案例篇:系统的 CPU 使用率很高,但为啥却找不到高 CPU 的应用?
上一节我讲了 CPU 使用率是什么,并通过一个案例教你使用 top.vmstat.pidstat 等工具,排查高 CPU 使用率的进程,然后再使用 perf top 工具,定位应用内部函数的问题.不过 ...
- 4 系统的 CPU 使用率很高,但为啥却找不到高 CPU的应用?
上一节讲了 CPU 使用率是什么,并通过一个案例教你使用 top.vmstat.pidstat 等工具,排查高 CPU 使用率的进程,然后再使用 perf top 工具,定位应用内部函数的问题.不过就 ...
- CPU使用率过高问题排查及Linux之top命令用法详解
文章目录 问题 解决方案 top命令用法 top各输出参数含义 一.top前5行统计信息 二.进程信息 Top 1的用法 %CPU和us%的区别 问题 公司连续2天服务器告警CPU使用率过高问题,查看 ...
- CPU 使用率过高报警,我要原地爆炸了
最近一直在忙着招人,发现那些来面试的候选者,代码能力虽然不错,但很多都卡在性能优化问题上. 其实,不论你是高级工程师,还是架构师,性能优化的问题都少不了.想彻底解决,就要全面了解程序设计.算法分析.编 ...
- Java 程序 CPU 使用率过高问题定位与修复
问题现象:CPU 负载过高 我们线上的 jenkins 系统,时不时会发生 CPU 负载过高的现象. CPU 负载过高后,SRE 同学会收到电话告警. 在我们的监控系统中,可以看到,某些时候,CPU ...
- 如何在.NET应用程序中分析CPU使用率过高的问题
原文来自互联网,由长沙DotNET技术社区编译.如译文侵犯您的署名权或版权,请联系小编,小编将在24小时内删除.限于译者的能力有限,个别语句翻译略显生硬,还请见谅. 作者:胡安·帕勃罗·希达,JUAN ...
最新文章
- php链表笔记:单链表反转
- Microbiome:中科院遗传发育所揭示植物发育和氮肥共同作用下的小麦根系微生物组...
- CVPR 2017 CA:《Context-Aware Correlation Filter Tracking》论文笔记
- nginx基本数据结构及接口
- [转]js判断url是否有效
- java导出highcharts_Highcharts导出代码Java版
- IoT与大数据 如何激发数字营销最大潜能?
- 不要62 HDU - 2089【数位dp】
- labelImg 工具
- mysql的select的排序_mysql数据分组和排序及SELECT子句顺序
- 百度万亿流量的转发引擎 BFE 开源了!
- Android 音频系统:从 AudioTrack 到 AudioFlinger(全)
- 应用需要android权限,如何找出android应用程序需要的权限
- Web安全—Web漏扫工具NetSparker安装与使用
- Java 日期格式化规则
- Typora免费版,不是破解版,是没有升级的老版本,用的还是比较舒服的
- 查找恶意的TOR中继节点
- android-实现一个简单的视频弹幕
- Python之win7环境下安装python3
- HDU-6578 Blank(DP)2019暑假杭电多校第一场
热门文章
- 计算机术语死机,计算机“死机”故障原因及处理办法大全
- error:failed to run html help compiler on index.hhp
- 使用html框架制作一个网站布局
- 微信小程序云开发问题篇3_云数据库导入Excel数据(xls转为json导入之后报错:导入数据库失败, Error: Poll error, 导入数据任务(id:1431654)异常...)
- win7系统中如何以管理员身份修改hosts文件
- 学医后才知道的小知识...
- 2021年北京市企业技术中心申报时间及条件是什么
- 计算机 就业率低,大学里“最坑人”的4个专业,热门只是假象,实则就业率很低...
- 简化工作和生活的 7 个在线地图制作平台分享
- 本立道生:必备的基础知识