`
shake863
  • 浏览: 637403 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

linux性能分析 -- sar

阅读更多


sar

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)手册页,查看是否有自己需要的其他报告。 

分享到:
评论

相关推荐

    Linux性能分析 -- sar

    linux 性能 sar,分别于CPU、MM、IO、网络

    Linux常见性能分析工具

    本资源通过描述命令作用,并结合实例,讲解Linux下常见的几种性能分析工具,包括vmstat、sar、iostat、free、uptime、netstat和top

    sar和skar分析linux性能教程.doc

    Sysstat是linux系统免费提供用于收集主机性能的一个软件包,不是默认安装的,需要自己安装。 sysstat的主要用途是观察服务负载,比如CPU和内存的占用率、网络的使用率以及磁盘写入和读取速度等。 sysstat 工具包中...

    linux_performance_analysis:每个版本的 Linux 性能分析工具和仪表板

    linux_性能分析 这是每个内核版本的 Linux 性能分析工具和仪表板的子集。 这个项目的想法是创建一个公共网页,在那里可以使用一些基本的性能工具测试 linux 内核下一个分支(仍未合并到 linux 内核上)的所有补丁。...

    SarBox:SarBox可帮助用户解析或分析sar数据-开源

    这是最全面的命令,有助于在同一日志中监视各种Linux / Solaris子系统(CPU,内存,I / O,磁盘,网络等)的性能。 由于每个计数器数据都被转储到日志文件中,因此很难进行分析。 SarBox可帮助分析此日志文件并以...

    Linux通过sar命令查看网卡流量

    sar(System Activity Reporter系统活动情况报告)是目前 Linux 上最为全面的系统性能分析工具之一,这篇文章主要介绍了Linux通过sar命令查看网卡流量,需要的朋友可以参考下

    集群好书《高性能Linux服务器构建实战》 试读章节下载

    10.3 影响Linux性能的各种因素 10.3.1 系统硬件资源 10.3.2 操作系统相关资源 10.3.3 应用程序软件资源 10.4 系统性能分析标准和优化原则 10.5 几种典型应用对系统资源使用的特点 10.5.1 以静态内容为...

    GAMMA安装程序及教程含用户手册 资源已更新

    Ø 软件采用ANSI-C语言编写,可以在Linux、Windows及Mac/OSX等操作系统下编译运行 Ø 采用Open-MP从底层对软件进行优化,支持多核多线程加速 Ø 能够兼容在高性能计算机集群 (HPCC),支持服务器端分发处理 Ø ...

    iostat_vmstat_详解

    Linux在具有高稳定性、可靠性的同时,具有很好的可伸缩性和扩展性,能够针对不同的应用和硬件环境调整,优化出满足当前应用需要的最佳性能。...下文将介绍几个较为重要的性能分析工具vmstat、iostat和sar及其使用。

    workflow-profiler

    工作流程探查器根据MIT许可证发布(请参阅LICENSE文件)软件要求: 软件版本测试版本目的Python 2.7 2.7 分析器和后处理gnuplot > = ... Workflow Profiler通过免费提供Linux性能分析工具为用户提供了一种快速,自动化

    测试培训教材

    JBOSS_HOME\server\default\deploy\jbossweb-tomcat55.sar\server.xml 6、修改IP地址后不能登录QC 解决办法: 在C:\Program Files\Mercury\Quality Center\jboss\server\default\deploy目录下找到10sabin.war ...

Global site tag (gtag.js) - Google Analytics