当前位置: 首页 > news >正文

linux系统查历史cpu使用数据(使用sar 查询cpu和网络占用最近1个月历史数据)。

一  sar 指令介绍  

          在 Linux 系统中,sar 是 System Activity Reporter 的缩写,是一个用于收集、报告和保存系统活动信息的工具。它是 sysstat 软件包的一部分,提供了丰富的系统性能数据,包括 CPU、内存、网络、磁盘等使用情况,sar 命令不仅可以实时地显示系统性能,最重要的还可以从历史数据文件中读取并显示过去的数据

二  sar 使用

查看系统是否安装有sar,目前我所使用的阿里云,电信云,华为云,好像所有云服务器都安装有,而且也是保存了一个月的记录。

 执行sar 默认会显示当前状态的数据如下图:

sar

 

sar 历史数据通常被保存在 /var/log/sa/ 目录下,以特定的命名模式存储,如下图:

通常每天会生成一个文件,每个文件包含了当天每隔一段时间(默认为10分钟)采集的系统数据。

文件名称说明:

  • sa:所有的文件以sa作前缀。
  • 数字:紧跟在 sa 后面的两位数字代表了月份中的日期。例如,sa01 对应的是当月的第1天,sa02 对应的是当月的第2天,一共有30个文件也就刚好一个月,所以只能保存最近一个月的数据,也就说只能查看最近一个月的数据。

看某个特定日期的 sar 历史数据时,可以使用以下命令格式:

sar -f /var/log/sa/sa01 -参数

-参数:

  • 若要查看 CPU 使用情况,可以使用 -u 参数。
  • 若要查看内存使用情况,可以使用 -r 参数。
  • 若要查看磁盘 I/O,可以使用 -d 参数。
  • 若要查看网络 I/O,可以使用 -n 参数。

使用示例:

查看上个月1号的历史记录

#进入日记目录
cd /var/log/sa#查看上月1号的文件的 cpu使用情况
sar -f sa01 -u

 执行后如下图:

从上图可以看出,sar是每10分钟保存一次数据的,对于很多时候用来分析服务器状态也足够了。上图1号的数据,用户使用cpu使用保持在1.5左右,空闲率持续97% ,cpu占用曲线整体很平衡。

再查2号的cpu使用数据就发现问题了,4点开始cpu占用突然升高且持续到4点30分,如下图:

sar -f sa02 -u

这里候我们可以结合这以上这个时间点是分析我们的项目日记还有网络流量,数据库日记。往往很快可以找到问题。 

三  pidstat 使用

 上面的sar只可以定位时间,无法定位哪个进程使用cpu,如果还能找到问题可以使用pidstat进一步定位进程,是哪个进程占用这么高。

执行 pidstat,如下图:

pidstat

数据量有点多,我们只要占用最高那10条记录即可:

pidstat -r | sort -k 8 -r -n | head -n 11

 执行后如下图:

我们就以这个为基础通过定时任务去运行记录进程占用高的数据:

crontab -e*/5 * * * * /usr/bin/pidstat -r | sort -k 8 -r -n | head -n 11 >> /var/log/pidstat.log

  一个定时器每5分钟记录一次最高的进程数据 ,创建成功,如下图:

查看定时任务:

crontab -l

定时任务运行后,查看占用日记如下:


 这里每隔5分钟记录一次,这里可以根据问题发生的时间自己改写。这样可以解决查看历史cpu占用率的问题。

http://www.lryc.cn/news/406635.html

相关文章:

  • Edge浏览器加载ActiveX控件
  • BUG与测试用例设计
  • 怎么在使用select2时,覆盖layui的下拉框样式
  • MacOSM1 配置Miniconda环境,并设置自启动
  • poi库简单使用(java如何实现动态替换模板Word内容)
  • 机器人开源调度系统OpenTcs6二开-车辆表定义
  • 麦歌恩MT6521-第三代汽车磁性角度传感器芯片
  • 【数据结构】堆,优先级队列
  • 2024 暑假友谊赛 2
  • c++ 线程
  • 【SpringBoot】URL映射之consumes和produces匹配、params和header匹配
  • vscode配置django环境并创建django项目(全图文操作)
  • (一)延时任务篇——延时任务的几种实现方式概述
  • 每天五分钟计算机视觉:目标检测模型从RCNN到Fast R-CNN的进化
  • 环境变量配置文件中两种路径添加方式
  • 开放系统互连安全体系结构学习笔记总结
  • linux搭建redis cluster集群
  • 瀚高数据库初级考试认证
  • 【java基础】spring中使用到的设计模式
  • 浅层深度学习的概述
  • 如何找到最快解析速度的DNS
  • 【YashanDB知识库】数据库使用shutdown immediate无响应导致coredump
  • web前端 React 框架面试200题(一)
  • 【前端】JavaScript入门及实战91-95
  • vue3在元素上绑定自定义事件弹出虚拟键盘
  • VMware 上安装 CentOS 7 教程 (包含网络设置)
  • 算法 day4 【双指针、快慢指针、环形链表】链表下
  • 智能音箱的工作原理
  • 国际金融入门:国际收支与平衡表解析
  • Modbus转BACnet/IP网关的技术实现与应用