转载

7 个实例教你使用 sar 命令生成CPU、内存和输入输出端口的报告

SAR是系统活动报告(System Activity Report)英文单词的首字母缩写。正如它的名字所表示的那样,SAR是一个在Unix和 Linux 操作系统中用来收集、报告和保存 CPU内存输入输出端口 使用情况的命令。SAR命令可以动态产生报告,也可以把报告保存在日志文件中。

在本文中,我们将讨论在CentOS 7和RHEL 7系统中使用SAR的不同案例。如果你没有安装该软件包,可以使用下面一条命令来安装它。

[root@localhost ~]# yum install sysstat

启动 sadc (system activity data collector)服务( sysstat ),这样报告就会被写入到日志文件“ /var/log/sa/saDD ”中并且已经存在的文档将会被归档。DD表示当前日期。

[root@localhost ~]# systemctl start sysstat [root@localhost ~]# systemctl enable sysstat

它每隔10分钟收集一次数据并且每天形成一份报告。下图中的crontab文件负责收集和生成报告。

7 个实例教你使用 sar 命令生成CPU、内存和输入输出端口的报告 下图中的是SysStat的Config文件。(sar命令)

7 个实例教你使用 sar 命令生成CPU、内存和输入输出端口的报告

案例1:每两秒钟动态生成5次CPU的使用情况

[root@localhost ~]# sar 2 5 Linux 3.10.0-123.el7.x86_64 (localhost.localdomain)     Monday 26 October 2015     _x86_64_    (2 CPU)  01:43:55 EDT CPU %user %nice %system %iowait %steal %idle 01:43:57 EDT all 0.00 0.00 0.25 0.00 0.00 99.75 01:43:59 EDT all 0.00 0.00 0.00 0.00 0.00 100.00 01:44:01 EDT all 0.00 0.00 0.25 0.00 0.00 99.75 01:44:03 EDT all 0.00 0.00 0.25 0.25 0.00 99.50 01:44:05 EDT all 0.00 0.00 0.00 0.00 0.00 100.00 Average: all 0.00 0.00 0.15 0.05 0.00 99.80 [root@localhost ~]#

如果 %I/Owait 这一项是一个超过0的长时间值,那么我们就要考虑是否在输入输出系统方面存在瓶颈(比如硬盘或者网络)。

案例2:使用-o选项保存sar命令的输出结果:

[root@localhost ~]# sar 2 5 -o /tmp/data > /dev/null 2>&1 [root@localhost ~]#

使用“sar -f ”输出结果:

[root@localhost ~]# sar -f /tmp/data

7 个实例教你使用 sar 命令生成CPU、内存和输入输出端口的报告

案例3:使用-r选项生成内存的使用情况报告

-r选项在sar命令中被用以生成内存的使用报告。

[root@localhost ~]# sar -r 2 5

7 个实例教你使用 sar 命令生成CPU、内存和输入输出端口的报告

kbcommit和%commit列的数据包括了内存和交换区使用量的总和。

案例4:用-B选项生成分页统计报告

[root@localhost ~]# sar -B 2 5

7 个实例教你使用 sar 命令生成CPU、内存和输入输出端口的报告

报告里, majflts/s 主要显示从硬盘交换区载入物理内存时的异常,如果这个值变高,那么我们可以说系统目前仅仅使用了内存(RAM)。

%vmeff表示每秒扫描的页面数,如果说当它的值是100%时是正常情况,它是30%以下的时候就可以认为虚拟内存存在一些问题。0值表示在那个时候没有任何一个页面被扫描。

案例:5 使用-d选项生成块设备使用情况报告

-d 选项在sar命令中被用以显示块设备的状态报告。在 -d 后面加上 -p  (pretty-print)选项可以增强 dev 列的可读性,如下图所示:

[root@localhost ~]# sar -d -p 2 4

7 个实例教你使用 sar 命令生成CPU、内存和输入输出端口的报告

案例6:用-n生成网络使用情况报告

-n选项在sar命令中被用来生成网络使用情况的统计报告。下面是语法规则:

# sar -n {keyword} or {ALL}

[root@localhost ~]# sar -n ALL

7 个实例教你使用 sar 命令生成CPU、内存和输入输出端口的报告

案例7:用-f读sar日志文件

我们前面已经讨论了sar的日志文件是保存在“/var/log/sa/saDD”里的。使用-f选项可以查看日志文件。

[root@localhost ~]# sar -r -f /var/log/sa/sa26

7 个实例教你使用 sar 命令生成CPU、内存和输入输出端口的报告

原文链接: http://www.linuxtechi.com/generate-cpu-memory-io-report-sar-command/

译文链接: http://www.linuxstory.org/generate-cpu-m…rt-sar-command/

正文到此结束
Loading...