系统分析利器之sar

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了系统分析利器之sar相关的知识,希望对你有一定的参考价值。

一、sar简介

一、sar简介

二、sar参数说明

三、sar具体分析说明


一、sar简介

sar是System Activity Reporter(系统活动情况报告)的缩写。sar工具将对系统当前的状态进行取样,然后通过计算数据和比例来表达系统的当前运行状态。它的特点是可以连续对系统取样,获得大量的取样数据;取样数据和分析的结果都可以存入文件,所需的负载很小。sar是目前Linux上最为全面的系统性能分析工具之一,可以从14个大方面对系统的活动进行报告,包括文件的读写情况、系统调用的使用情况、串口、CPU效率、内存使用状况、进程活动及IPC有关的活动等,使用也是较为复杂。


二、sar参数说明

        -A:所有报告的总和

-u:输出CPU使用情况的统计信息

-v:输出inode、文件和其他内核表的统计信息

-d:输出每一个块设备的活动信息

-r:输出内存和交换空间的统计信息

-b:显示I/O和传送速率的统计信息

-a:文件读写情况

-c:输出进程统计信息,每秒创建的进程数

-R:输出内存页面的统计信息

-y:终端设备活动情况

-w:输出系统交换活动信息

-S:输出sawp空间使用状态

-B: 输出内存分页统计信息

-n:输出网络状态信息,需要关键字如TCP、IP、NFS、SOCK、UDP等


三、sar具体分析说明

3.1.sar分析CPU状态

sar -u : 默认情况下显示的cpu使用率等信息就是sar -u;

# sar -u 1 5 #每秒取值一次,连续5次

技术分享

%user 用户模式下消耗的CPU时间的比例;

%nice 通过nice改变了进程调度优先级的进程,在用户模式下消耗的CPU时间的比例

%system 系统模式下消耗的CPU时间的比例;

%iowait CPU等待磁盘I/O导致空闲状态消耗的时间比例;

%steal 利用Xen等操作系统虚拟化技术,等待其它虚拟CPU计算占用的时间比例;

%idle CPU空闲时间比例;


3.2.sar分析内存使用状况

sar -r: 指定-r之后,可查看物理内存使用状况;

# sar -r 1 5 #每秒取值一次,连续5次

技术分享

kbmemfree:这个值和free命令中的free值基本一致,所以它不包括buffer和cache的空间.

kbmemused:这个值和free命令中的used值基本一致,所以它包括buffer和cache的空间.

%memused:物理内存使用率,这个值是kbmemused和内存总量(不包括swap)的一个百分比.

kbbuffers和kbcached:这两个值就是free命令中的buffer和cache.

kbcommit:保证当前系统所需要的内存,即为了确保不溢出而需要的内存(RAM+swap).

%commit:这个值是kbcommit与内存总量(包括swap)的一个百分比.


3.3.sar分析平均负载

sar -q: 查看平均负载

# sar -q 1 30 #每秒取值一次,连续30次

技术分享runq-sz:运行队列的长度(等待运行的进程数)

plist-sz:进程列表中进程(processes)和线程(threads)的数量

ldavg-1:最后1分钟的系统平均负载 ldavg-5:过去5分钟的系统平均负载

ldavg-15:过去15分钟的系统平均负载


3.4.sar分析IO状态

sar -b 查看IO

# sar -b 1 10 #每秒取值一次,连续10次

技术分享tps: 每秒向磁盘设备请求数据的次数,包括读、写请求,为rtps与wtps的和。出于效率考虑,每一次IO下发后并不是立即处理请求,而是将请求合并(merge),这里tps指请求合并后的请求计数。

rtps: 每秒向磁盘设备的读请求次数

wtps: 每秒向磁盘设备的写请求次数

bread: 每秒从磁盘读的bytes数量

bwrtn: 每秒向磁盘写的bytes数量


3.5.sar分析页面交换发生状况

页面发生交换时,服务器的吞吐量会大幅下降;服务器状况不良时,如果怀疑因为内存不足而导致了页面交换的发生,可以使用这个命令来确认是否发生了大量的交换

# sar -W 1 5

技术分享pswpin/s:每秒系统换入的交换页面(swap page)数量

pswpout/s:每秒系统换出的交换页面(swap page)数量


3.6.内存分页监控

# sar -B 1 5

技术分享pgpgin/s:表示每秒从磁盘或SWAP置换到内存的字节数(KB)

pgpgout/s:表示每秒从内存置换到磁盘或SWAP的字节数(KB)

fault/s:每秒钟系统产生的缺页数,即主缺页与次缺页之和(major + minor)

majflt/s:每秒钟产生的主缺页数.

pgfree/s:每秒被放入空闲队列中的页个数

pgscank/s:每秒被kswapd扫描的页个数

pgscand/s:每秒直接被扫描的页个数

pgsteal/s:每秒钟从cache中被清除来满足内存需要的页个数

%vmeff:每秒清除的页(pgsteal)占总扫描页(pgscank+pgscand)的百分比


3.7.inode、文件和其他内核表监控

# sar -v 1 5

技术分享dentunusd:目录高速缓存中未被使用的条目数量

file-nr:文件句柄(file handle)的使用数量

inode-nr:索引节点句柄(inode handle)的使用数量

pty-nr:使用的pty数量


3.8.分析设备的使用状态

# sar -d 1 3 -p

技术分享参数-p可以打印出sda,hdc等磁盘设备名称,如果不用参数-p,设备节点则有可能是dev252-0

tps:每秒从物理磁盘I/O的次数.多个逻辑请求会被合并为一个I/O磁盘请求,一次传输的大小是不确定的.

rd_sec/s:每秒读扇区的次数.

wr_sec/s:每秒写扇区的次数.

avgrq-sz:平均每次设备I/O操作的数据大小(扇区).

avgqu-sz:磁盘请求队列的平均长度.

await:从请求磁盘操作到系统完成处理,每次请求的平均消耗时间,包括请求队列等待时间,单位是毫秒(1秒=1000毫秒).

svctm:系统处理每次请求的平均时间,不包括在请求队列中消耗的时间.

%util:I/O请求占CPU的百分比,比率越大,说明越饱和.


3.9.分析进程活动情况

# sar -R 1 3

技术分享frmpg/s:系统每秒释放的内存页数。负值表示页数由系统分配。注意,根据机器架构,页面具有4kB或8kB的大小.

bufpg/s:由系统每秒用作缓冲区的其他内存页的数量。负值表示由系统用作缓冲的较少页面。

campg/s:系统每秒缓存的额外内存页数。负值表示页数较少在缓存中。


3.10.分析sawp的使用情况

# sar -S 1 3

技术分享kbswpfree:以千字节为单位的可用交换空间量

kbswpused:使用的交换空间量(以千字节为单位)。

%swpused:已使用交换空间的百分比。

kbswpcad:缓存交换内存量(以千字节为单位)。这是一次被交换出来的内存,被交换回来,但仍然在交换区域中(如果需要内存,则不需要再次交换出来,因为它已经在交换区域,这样可以节省I/O)。

%swpcad:缓存交换内存相对于使用的交换空间量的百分比。


3.11.分析TCP网络流量统计信息

使用TCP关键字,报告有关TCPv4网络流量的统计信息。注意TCPv4统计信息

# sar -n TCP 1 3

技术分享

active/s:TCP连接从每秒关闭状态[tcpActiveOpens]直接转换到SYN-SENT状态的次数。

passive/s:TCP连接从每秒钟从侦听状态直接转换到SYN-RCVD状态的次数[tcpPassiveOpens]。

iseg/s:每秒接收的段总数,包括错误接收的段数[tcpInSegs]。此计数包括在当前建立的连接上接收的段。

oseg/s:每秒发送的段总数,包括当前连接上的段数,但不包括仅包含重新发送的八位字节的段[tcpOutSegs]。


3.12.分析IP网络流量统计信息

# sar -n IP 1 3

技术分享irec/s:从接口每秒接收的输入数据报的总数,包括在错误[ipInReceives]中接收的数据报。

fwddgm/s:每秒输入数据报的数量,对于该输入数据报,该实体不是它们的最终IP目的地,因此尝试找到将它们转发到该最终目的地的路由[ipForw-Datagrams]。

idel/s:每秒成功传送给IP用户协议的输入数据报的总数(包括ICMP)[ipInDelivers]。

orq/s:在请求传输[ipOutRequests]中本地IP用户协议(包括ICMP)每秒向IP提供的IP数据报的总数。注意,该计数器不包括在fwddgm / s中计数的任何数据报

asmrq/s:每秒接收的IP片段数,需要在此实体[ipReasmRe- qds]重新组合。

asmok/s:每秒成功重新组装的IP数据报数[ipReasmOKs]。

fragok/s:每秒成功在此实体上分段的IP数据报数[ipFragOKs]。

fragcrt/s:作为此实体[ipFragCreates]上分段的结果每秒生成的IP数据报片段数。


3.13.报告任务创建和系统切换活动

# sar -w 1 5

技术分享proc/s:每秒创建任务的总数

cswch/s:每秒切换的总数

本文出自 “深呼吸再出击” 博客,请务必保留此出处http://ckl893.blog.51cto.com/8827818/1907672

以上是关于系统分析利器之sar的主要内容,如果未能解决你的问题,请参考以下文章

[转帖]Linux系列之SAR命令使用详解

linux命令之sar

linux工具之sar

linux工作利器之二,网络分析工具tcpdump

Linux性能分析之mpstat&iostat&sar&vmstat

Shell应用之网卡流量监测