[转帖]Sar的一次使用案例
https://www.jianshu.com/p/b93342d43e13
问题现象
有一台机器,在某个时间点OS类似无响应,造成使用者感觉在该时间点机器应该发生重启,就此问题进行分析。
日志查看
--BMC日志确认机器在该时间点没有发生重启
--OS日志在该时间点也没有记录到重启,但日志记录了一些异常,如下所示
Oct 23 12:46:59 localhost kernel: device ens3f1 left promiscuous mode
Oct 23 13:11:32 localhost rsyslogd: imjournal: journal reloaded... [v8.24.0 try http://www.rsyslog.com/e/0 ]
Oct 23 13:11:32 localhost rsyslogd: imjournal: journal reloaded... [v8.24.0 try http://www.rsyslog.com/e/0 ]
Oct 23 13:46:25 localhost kernel: device ens6f1 entered promiscuous mode
Oct 23 13:46:28 localhost kernel: INFO: NMI handler (perf_event_nmi_handler) took too long to run: 907875.014 msecs
Oct 23 13:46:28 localhost kernel: perf: interrupt took too long (120883 > 7575), lowering kernel.perf_event_max_sample_rate to 1000
Oct 23 13:46:31 localhost kernel: INFO: NMI handler (arch_trigger_all_cpu_backtrace_handler) took too long to run: 982076.016 msecs
Oct 23 13:46:31 localhost kernel: INFO: NMI handler (arch_trigger_all_cpu_backtrace_handler) took too long to run: 982837.016 msecs
Oct 23 13:46:37 localhost kernel: device ens6f1 left promiscuous mode
Oct 23 13:46:38 localhost kernel: device ens3f1 entered promiscuous mode
Oct 23 13:46:59 localhost kernel: device ens3f1 left promiscuous mode
Oct 23 13:50:19 localhost kernel: perf: interrupt took too long (151272 > 151103), lowering kernel.perf_event_max_sample_rate to 1000
Oct 23 13:52:39 localhost start_filebeat.sh: /opt/pamon/filebeat-redis/start_filebeat.sh: line 14: 72199 Killed $filebeat_exe -c $filebeat_config
Oct 23 13:55:26 localhost kernel: perf: interrupt took too long (189323 > 189090), lowering kernel.perf_event_max_sample_rate to 1000
Oct 23 14:17:02 localhost auditd[1623]: Audit daemon rotating log files
Oct 23 14:30:17 localhost kernel: perf: interrupt took too long (237320 > 236653), lowering kernel.perf_event_max_sample_rate to 1000
Oct 23 14:37:39 localhost su: (to redis) padba on pts/0
Oct 23 14:39:34 localhost su: (to redis) padba on pts/1
Oct 23 14:51:17 localhost kernel: device ens6f1 entered promiscuous mode
Oct 23 14:51:37 localhost kernel: device ens6f1 left promiscuous mode
Oct 23 14:51:42 localhost kernel: device ens3f1 entered promiscuous mode
Oct 23 14:51:59 localhost kernel: device ens3f1 left promiscuous mode
Oct 23 15:09:42 localhost kernel: hrtimer: interrupt took 542805 ns
Oct 23 15:53:37 localhost kernel: device ens6f1 entered promiscuous mode
Oct 23 15:54:07 localhost kernel: device ens6f1 left promiscuous mode
--显然在该时间点OS没有发生重启,但发生了一些异常的log打印,如perf: interrupt took too long 、NMI handler 、promiscuous mode,对此分析如下:
1、 promiscuous mode,通常在用户有监控软件抓取流量时会触发,同时从日志中也可以看到不断有此现象,不过此现象通常伴随在抓包的过程中,为正常日志情况。 不过这个现象有些频繁,客户应该关注一点。
2、对于perf:interrupt took too long,通常这表示perf采集信息中断时间较长没有响应。
3、mi handler 类似。
所以需要进一步对perf的log打印查看,从OS日志中搜索perf的log,如下所示:

发现OS日志多次出现perf的异常log,进一步分析perf,perf是Linux下的一款性能分析工具,因此出现此问题初步判断可能跟机器的性能相关。
通过sar命令记录的性能数据进一步查看,查看上述异常时间点的性能数据,初步发现一个规律是上述异常时间点均伴随了较高的CPU使用率。
为验证上述猜测,进一步转化数据。
然后通过sos report中的sar文件来观察CPU使用率,方式是将sar07/sar23/sar13中的cpu使用率,导入至excel表中然后将cpu使用率画成折线图,最后如下所示:
Sar07如下所示,从折线图可以看出来,大概是在9点,接近十点的时候,cpu的idle很低也就是cpu使用率很高。

sar23如下所示,从折线图可以看出来,在13点接近14点的时候,cpu使用率突然增高。

问题结论
综上所述,可以看出来,在发生问题的时间点均发生了CPU使用率过高的问题,因此可以判断是CPU使用率过高导致了问题。
sar工具查看网卡实时速率
使用iperf打流测试,然后通过sar来监控每个网卡的实时速率,如下所示:


使用的命令为:
[root@localhost ~]# sar -n DEV 1
[转帖]Sar的一次使用案例的更多相关文章
- [转帖]Speed-BI数据分析案例:2016年8月汽车销量排行榜
[转帖]Speed-BI数据分析案例:2016年8月汽车销量排行榜 据中国汽车工业协会统计分析,2016年8月,乘用车市场表现较好,当月销量环比和同比均呈较快增长.1-8月,乘用车销量总体呈稳定增长, ...
- [转帖]Linux系列之SAR命令使用详解
Linux系列之SAR命令使用详解 sar是System Activity Reporter(系统活动情况报告)的缩写.这个工具所需要的负载很小,也是目前linux中最为全面的性能分析工具之一.此款工 ...
- Android 性能测试之内存 --- 追加腾讯性能案例,安卓抓取性能扫盲帖
内存测试: 思路 目前做的是酒店APP,另下载安装几个个第三方酒店的APP以方便对比(相当于可以做竞品测试) 数据的获取来源是ADB底层命令,而且最好是不需要root权限,因为很多手机root很麻烦或 ...
- mysql的"双1设置"-数据安全的关键参数(案例分享)
mysql的"双1验证"指的是innodb_flush_log_at_trx_commit和sync_binlog两个参数设置,这两个是是控制MySQL 磁盘写入策略以及数据安全性 ...
- hibernate 5的二级缓存案例讲解
hibernate 5的二级缓存案例讲解 本帖最后由 鱼丸儿 于 2018-1-20 11:44 编辑 大家好,今天来记录讲解一下磕磕绊绊的hibernate5 的二级缓存配置,一条路摸到黑 那么在这 ...
- MySQL数据库详解之"双1设置"的数据安全的关键参数案例分享
mysql的"双1验证"指的是innodb_flush_log_at_trx_commit和sync_binlog两个参数设置,这两个是是控制MySQL 磁盘写入策略以及数据安全性 ...
- 用DDD模拟案例分析
之前我写了几篇关于DDD的介绍和一些小例子说明,我想这对于介绍DDD还是有些模糊,甚至还不知道怎么用DDD来分析设计.昨天和园友讨论也发现没有例子很难说明,所以今天我模拟了一个案例,同时这个案例也是真 ...
- 洗礼灵魂,修炼python(29)--装饰器(1)—>利用经典案例解析装饰器概念
前提必备 不急着进入正题,在前面函数作用域那一章介绍了闭包,全局变量局部变量,这里再看几个简单的闭包案例: 1):不带参数 注意: 1.这里的name属性是每个函数都有的,可以反馈函数名 2.temp ...
- (转)linux top命令中各cpu占用率含义及案例分析
原文:https://blog.csdn.net/ydyang1126/article/details/72820349 linux top命令中各cpu占用率含义 0 性能监控介绍 1 确定应用类型 ...
- 转载:案例用Excel对会员客户交易数据进行RFM分析
案例:用Excel对会员客户交易数据进行RFM分析 背景: 一个会员服务的企业,有近1年约1200个会员客户的收银数据.由于公司想针对不同 ...
随机推荐
- flutter屏幕适配方案
使用MediaQuery和比例因子 优点:使用简单,可以处理大多数情况下的屏幕适配需求. 缺点:需要手动计算比例因子,并且随着UI元素变得更加复杂和层次化(例如多层次列表或动画效果),使用此方法可能会 ...
- Git使用经验总结1
目录 1. 概述 2. 界面化工具 3. 远端覆盖本地 4. 设置代理 1. 概述 就不去介绍一些Git最常规的命令了,这些命令一般的教程都有,这里更多的总结自己的一些使用经验.当然作为初学者,常规的 ...
- 解读分布式调度平台Airflow在华为云MRS中的实践
摘要:Airflow是一个使用Python语言编写的分布式调度平台,通过DAG(Directed acyclic graph 有向无环图)来管理任务. 本文分享自华为云社区<分布式调度平台Air ...
- 详解MRS CDL整体架构设计
摘要:MRS CDL是FusionInsight MRS推出的一种数据实时同步服务,旨在将传统OLTP数据库中的事件信息捕捉并实时推送到大数据产品中去,本文档会详细为大家介绍CDL的整体架构以及关键技 ...
- webpack原理(3):Tapable源码分析及钩子函数作用分析
webpack本质上是一种事件流的机制,它的工作流程就是将各个插件串联起来,而实现这一切的核心就是Tapable,webpack中最核心的负责编译的Compiler和负责创建bundles的Compi ...
- Cesium笔记(3):基本控件简介—ImageryProvider地图瓦片地图配
cesiumjs中可定制多种图层,可以使用互联网上很多地图提供商的图层数据,也可以使用自己的地图数据.Cesium支持多种标准化格式的GIS瓦片服务,可以把栅格图层绘制到地球的表面--cesiumjs ...
- 下一代APP Store——GPT应用商店GPTs初体验
uploading-image-126879.png 近期,OpenAI宣布GPT应用商店正式上线,目前拥有plus的用户已经可以体验了. OpenAI将GPT应用商店命名为GPTs,这也是之前发布会 ...
- OpenSSF发布npm 最佳实践指南,应对开源依赖风险
开源安全基金会(OpenSSF)发布了 npm 最佳实践指南,以帮助 JavaScript 和 TypeScript 开发人员降低使用开源依赖项相关的安全风险.OpenSSF Best Practic ...
- 大数据-业务数据采集-FlinkCDC 读取 MySQL 数据存入 Kafka
目录 作用 app 产生各层数据的 flink 任务 bean 数据对象 common 公共常量 utils 工具类 app.ods.FlinkCDC.java package com.atguigu ...
- CentOS 7上安装 Jenkins 2.346 -- yum 方式
CentOS 7上安装 Jenkins -- yum 方式 装插件太麻烦了,最后选择了 装JAVA 11,安装最版本 Jenkins https://mirrors.jenkins.io/war/ 开 ...