加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

linux – 如何使用SAR检查最近5分钟的整体CPU使用率

发布时间:2020-12-14 01:40:48 所属栏目:Linux 来源:网络整理
导读:我知道这个sar sar -u 1 3的例子,它给出了接下来3秒的统计数据,间隔为1秒. 然而,sar还继续在后台收集信息(我的cron设置为每分钟收集统计数据).有什么方法我可以简单地使用sar命令查询最后5分钟的统计数据及其平均值. 现在我正在使用以下命令 interval=5; sar
我知道这个sar sar -u 1 3的例子,它给出了接下来3秒的统计数据,间隔为1秒.

然而,sar还继续在后台收集信息(我的cron设置为每分钟收集统计数据).有什么方法我可以简单地使用sar命令查询最后5分钟的统计数据及其平均值.

现在我正在使用以下命令

interval=5; sar -f /var/log/sysstat/sa22 | tail -n $interval | head -n -1 | awk '{print $4+$6}'| awk  '{s+=$1} END {print s/$interval}'

检查最近5分钟的整体CPU使用情况.

有没有更好的办法 ?

解决方法

不幸的是,当在sar中使用-f选项以及interval和count时,它不会返回给定时间间隔的平均值(正如您所期望的那样).相反,它始终返回sar文件中的第一个记录值

解决这个问题的唯一方法是使用-s选项,它允许您指定开始采样周期的时间.我已经在下面提供了一个perl脚本,通过调用sar来完成,该脚本的构造方式将返回您正在寻找的内容.

希望这可以帮助.

彼得罗德斯.

#!/usr/bin/perl

$interval = 300;        # seconds.
$epoch    = `date +%s`;
$epoch   -= $interval;
$time     = `date -d @$epoch +%H:%M:00`;
$dom      = `date +%d`;
chomp($time,$dom);
system("sar -f /var/log/sysstat/sa$dom -B -s $time 300 1");

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读