sar是一个优秀的一般性能监视工具,它可以输出Linux所完成的几乎所有工作的数据。sar命令在sysetat rpm中提供。示例中使用sysstat版本5.0.5,这是稳定的最新版本之一。关于版本和下载信息,请访问sysstat主页http://perso.wanadoo.fr/sebastien.godard/。
sar可以显示CPU、运行队列、磁盘I/O、分页(交换区)、内存、CPU中断、网络等性能数据。最重要的sar功能是创建数据文件。每一个Linux系统都应该通过cron工作收集sar数据。该sar数据文件为系统管理员提供历史性能信息。这个功能非常重要,它将sar和其他性能工具区分开。如果一个夜晚批处理工作正常运行两次,直到下一个早上才会发现这种情况(除非被叫醒)。我们需要具备研究12小时以前的性能数据的能力。sar数据收集器提供了这种能力。有许多报告语法,我们首先讨论数据收集。
3.2.1 sar数据收集器
sar数据收集通过/usr/lib/sa中的一个二进制可执行文件和两个脚本来完成。sar数据收集器是一个位于/usr/lib/sa/sadc的二进制可执行文件。sadc的工作是写入数据收集文件/var/1og/sa/。可以为sadc提供几个选项。常见语法是:
间隔是取样间的秒数,iterations是要取得的样本数量,file name定义输出文件。简单的sadc语法是/usr/lib/sa/sadc 360 5/tmp/sadc.out。这个命令在5分钟间隔取得5个样本并将它们保存在/tmp/sadc.out。我们应该定期收集样本,因此需要一个由cron运行的脚本。应该把样本放在一个有意义的地方,如在前一节中使用top脚本时那样。sysstat rpm提供/usr/lib/sa/sa1脚本来完成所有这些事情。
sa1(8)手册页比sa1脚本本身要长得多。/usr/lib/sa/sa1是一个非常简单的脚本,使用语法sadc -F -L 1 1 /var/log/sa/sa##来运行sadc,其中##是某月的日期。较老版本的sa1使用date+.%Y_%m_%d的输出作为文件后缀。如果需要,可以使用-F选项使sadc强制创建输出文件。-L在写入输出文件之前锁定它,以防止两个sadc进程同时运行时损坏该文件。较老版本的sadc没有-L选项,因此sa1脚本执行手工锁定。sa1脚本的选项只是样本之间的间隔和取样迭代的次量。cron文件(/etc/cron.d/sysstat)和sysstat一起提供,在各sysstat版本之间它有所不同。以下是5.0.5版本的sysstat的条目:
可见,在sysstat rpm安装之后,sadc开始取得样本。sysstat主页是http://perso.wanadoo.fr/ sebastien.godard/2。文档链接提供以下类似2006年1月14日的crontab方案:
Sebastien Godard的网站的crontab示例建议周一至周五从早晨8点到下午6点每10分钟取一次样本,其他时间每小时取得一个样本(注意,crontab注释为下午7点,但实际上是18:00,即下午6点)。如果/var中的磁盘空间足够,可以每天都每小时的每10分钟取样一次。如果周末备份较慢,每小时一次sadc取样可能帮助不大。
现在让我们研究更流行的报告语法。
3.2.2 CPU统计数据
sar -u输出显示CPU信息。-u选项是sar的默认选项。该输出以百分比显示CPU的使用情况。表3-2解释该输出。
表3-2 sar -u字段
字 段
|
说 明
|
CPU
|
CPU编号
|
%user
|
在用户模式中运行进程所花的时间
|
%nice
|
运行正常进程所花的时间
|
%system
|
在内核模式(系统)中运行进程所花的时间
|
%iowait
|
没有进程在该CPU上执行时,处理器等待I/O完成的时间
|
%idle
|
没有进程在该CPU上执行的时间
|
这些看起来应该比较熟悉,它和top报告中的CPU信息内容相同。以下显示输出格式:
其中的5 10导致sar以5秒钟间隔取得10个样本。任何sar报告的第一列都是时间戳。
我们本来可以研究使用-f选项通过sadc创建的文件。这个sar语法显示sar -f/var/log/ sa/sa21的输出:
在多CPU Linux系统中,sar命令也可以为每个CPU分解该信息,如以下sar -u -P ALL 5 5输出所示:
3.2.3 磁盘I/O统计数据
sar是一个研究磁盘I/O的优秀工具。以下是sar磁盘I/O输出的一个示例。
第一行-d显示磁盘I/O信息,5 2选项是间隔和迭代,就像sar数据收集器那样。表3-3列出了字段和说明。
表3-3 sar -d字段
字 段
|
说 明
|
DEV
|
磁盘设备
|
tps
|
每秒传输数(或者每秒IO数)
|
rd_sec/s
|
每秒512字节读取数
|
wr_sec/s
|
每秒512字节写入数
|
512只是一个测量单位,不表示所有磁盘I/O均使用512字节块。DEV列是dev#-#格式的磁盘设备,其中第一个#是设备主编号,第二个#是次编号或者连续编号。对于大于2.5的内核,sar使用次编号。例如,在sar -d输出中看到的dev3-0和dev3-1。它们对应于/dev/hda和/dev/hdal。请看/dev中的以下各项:
/dev/hda有主编号3和次编号0。hda1有主编号3和次编号1。
3.2.4 网络统计数据
sar提供四种不同的语法选项来显示网络信息。-n选项使用四个不同的开关:DEV、EDEV、SOCK和FULL。DEV显示网络接口信息,EDEV显示关于网络错误的统计数据,SOCK显示套接字信息,FULL显示所有三个开关。它们可以单独或者一起使用。表3-4显示通过-n DEV选项报告的字段。
表3-4 sar -n DEV字段
字 段
|
说 明
|
IFACE
|
LAN接口
|
rxpck/s
|
每秒钟接收的数据包
|
txpck/s
|
每秒钟发送的数据包
|
rxbyt/s
|
每秒钟接收的字节数
|
txbyt/s
|
每秒钟发送的字节数
|
rxcmp/s
|
每秒钟接收的压缩数据包
|
txcmp/s
|
每秒钟发送的压缩数据包
|
rxmcst/s
|
每秒钟接收的多播数据包
|
以下是使用-n DEV选项的sar输出:
关于网络错误的信息可以用sar -n EDEV显示。表3-5列出了显示的字段。
表3-5 sar -n EDEV字段
字 段
|
说 明
|
IFACE
|
LAN接口
|
rxerr/s
|
每秒钟接收的坏数据包
|
txerr/s
|
每秒钟发送的坏数据包
|
coll/s
|
每秒冲突数
|
rxdrop/s
|
因为缓冲充满,每秒钟丢弃的已接收数据包数
|
txdrop/s
|
因为缓冲充满,每秒钟丢弃的已发送数据包数
|
txcarr/s
|
发送数据包时,每秒载波错误数
|
rxfram/s
|
每秒接收数据包的帧对齐错误数
|
rxfifo/s
|
接收的数据包每秒FIFO过速的错误数
|
txfifo/s
|
发送的数据包每秒FIFO过速的错误数
|
SOCK参数显示IPCS套接字信息。表3-6列出显示的字段及其意义。
表3-6 sar -n SOCK字段
字 段
|
说 明
|
totsck
|
使用的套接字总数量
|
tcpsck
|
使用的TCP套接字数量
|
udpsck
|
使用的UDP套接字数量
|
rawsck
|
使用的raw套接字数量
|
ip-frag
|
使用的IP段数量
|
sar可以产生许多其他报告。我们有必要仔细阅读sar(1)手册页,查看是否有自己需要的其他报告。
分享到:
相关推荐
综上所述,vmstat和sar是两个非常重要的工具,它们能够帮助我们从不同的角度对Linux系统进行性能监控和分析。通过这些工具收集的数据,我们可以诊断出系统中的瓶颈所在,并采取相应的措施加以优化,从而提高系统的...
### Linux性能分析利器:sar详解 #### 概述 `sar`,全称为System Activity Reporter,是Linux系统中一个强大的性能监测工具,能够提供全面的系统活动报告,包括CPU使用率、内存管理、磁盘I/O、网络传输等多个维度...
**sar源码——Linux性能测试工具** `sar` 是System Activity Reporter的缩写,它是Linux系统中的一个强大性能监控工具,包含在sysstat软件包之中。sysstat-9.0.6是2010年的一个稳定版本,适用于对Linux系统的性能...
**kSar与Linux性能监控:** 通过kSar,系统管理员可以密切关注CPU使用率、内存使用情况、磁盘I/O负载、网络带宽利用率等关键指标,及时发现并解决问题。例如,高CPU使用率可能是由于某个进程消耗过多资源,而内存...
本文将介绍几个常用的Linux性能分析工具:vmstat、iostat和sar。 首先,vmstat(Virtual Memory Statistics)用于监控操作系统的虚拟内存、进程和CPU活动。通过vmstat,我们可以获取系统的整体状态,但无法对单个...
### Linux性能调优工具及其应用 #### 一、引言 在现代IT环境中,Linux作为最流行的开源操作系统之一,在服务器领域扮演着极其重要的角色。随着云计算技术的发展,大量的虚拟化和容器技术使得Linux系统在资源管理和...
### Linux性能分析与调优工具详解 #### 一、性能分析工具 在Linux环境中,性能分析是确保系统高效运行的关键步骤。通过对系统性能的监测,我们可以及时发现并解决潜在的问题,提高系统的稳定性和响应速度。 #####...
Linux性能分析是系统管理员日常维护工作中的重要环节,而`sar`和`skar`(在描述中未提及skar,可能是指`sar`的误打或特定环境下的别名)是`sysstat`工具包中的关键组件,专门用于监控和分析Linux系统的性能。...
该演讲提供了丰富的Linux性能分析工具集及其应用方法,旨在帮助用户识别瓶颈、解决性能问题,并构建可扩展架构。 #### Linux性能分析的重要性 - **降低成本**: 通过性能分析可以发现资源浪费的地方,找到调优的...
`sar`(System Activity Reporter)是Linux下的一个强大的系统性能分析工具,它是`sysstat`软件包的一部分。通过`sar`,我们可以收集并分析系统的各种运行数据,包括CPU利用率、内存使用情况、磁盘I/O等。 **sar的...
本文将深入探讨三个重要的Linux性能分析工具:vmstat、iostat和sar,并基于给出的部分内容详细解析它们的功能和使用方法。 首先,我们来看vmstat(Virtual Memory Statistics)。这个工具主要用来监控系统的虚拟...
"Linux性能测试工具.pdf"和"linux性能优化和分析.ppt"可能提供了更深入的工具使用教程和案例分析。 最后,"网络调优.txt"可能涵盖网络层面的优化,比如调整`/etc/sysctl.conf`中的`net.core.somaxconn`以增大TCP...
"实战精通性能工具sar" sar(System Activity Reporter 系统活动情况报告)是 Linux 上最为全面的系统性能分析工具之一,能够从多方面对系统的活动进行报告,包括文件的读写情况、系统调用的使用情况、磁盘 I/O、...
此外,一些工具如sar(System Activity Reporter),iostat,和pstat等也可以从RedHat Enterprise Linux或SUSE Linux Enterprise Server的官方发行版中找到,或者从网上特定的源地址下载。 性能监测是一个持续的...
Linux下的sar工具是一款强大的系统活动分析工具,它能够收集、报告和存储系统层面的各种性能数据,包括CPU利用率、内存使用情况、I/O吞吐量、网络活动等。sar工具是System Activity Reporter的简称,它是sysstat...
本文将详细介绍Linux性能分析中常用的工具和手段,以便更好地了解系统行为,诊断问题,并对系统进行优化。 首先,我们需要了解CPU的基本信息,这包括了CPU的型号、核心数量、时钟频率、缓存大小等。在Linux中,可以...
总的来说,Linux性能分析与优化是一个全面且深入的过程,需要综合考虑各个层面,从硬件配置到软件设置,从系统调优到应用优化,每一个环节都可能影响到最终的性能表现。通过持续监控、分析和调整,我们可以确保Linux...
【Linux性能监测工具测评研究】 在Linux操作系统中,性能监测工具是系统运维和性能优化的重要组成部分。当前,用户在选择这些工具时往往更注重其功能特性,而忽视了它们自身对系统资源的占用情况。然而,在对高频...