教程

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文件负责收集和生成报告。

sar-crontab-file2
下图中的是SysStat的Config文件。(sar命令)

sysstat-config-file

案例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

read-data-file-sar2

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

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

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

memory-usage-sar-command1-1024x204
kbcommit和%commit列的数据包括了内存和交换区使用量的总和。

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

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

paging-statistics-sar-command1
报告里,majflts/s主要显示从硬盘交换区载入物理内存时的异常,如果这个值变高,那么我们可以说系统目前仅仅使用了内存(RAM)。
%vmeff 表示每秒扫描的页面数,如果说当它的值是100%时是正常情况,它是30%以下的时候就可以认为虚拟内存存在一些问题。0值表示在那个时候没有任何一个页面被扫描。

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

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

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

block-device-report-sar-command2

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

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

[root@localhost ~]# sar -n ALL

network-statistics-report-sar-command-1024x584

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

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

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

reading-sar-log-file2-1024x323

 

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

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

对这篇文章感觉如何?

太棒了
0
不错
0
爱死了
0
不太好
0
感觉很糟
0
有个文学梦的程序员。努力学习代码中!Fighting···

    You may also like

    Leave a reply

    您的电子邮箱地址不会被公开。

    此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据

    More in:教程

    教程

    你最喜欢的Linux终端技巧是什么?

    你最喜欢的提高生产力的终端技巧是什么呢?或许,只是一个简单的为一长串字符或者你常用的命令所取的别名( _alias_ )。或许,它是一些很短的脚本来自动处理那些你工作中无聊的东西的。或许,是一些终端复用的软件,比如 _screen_ 或者 _tmux_ 。再或者是你记忆的一些快捷键。最终,这上面的所有东西让你变得更像一个命令行的大佬。
    教程

    如何在 Linux 中有效地使用 history 命令

    众所周知,终端命令在 Linux 中是重要的一部分。对于每天都要和各种命令打交道的 Linux 使用者们,如何才能减少使用终端过程中的冗余部分,让终端更加方便快捷呢?这里教你几招!