一、sar - Collect, report, or save system activity information.
sar 命令将操作系统中选定的累积活动计数器的内容写入标准输出。
Usage: sar [ options ] [ <interval> [ <count> ] ]
Main options and reports:
-b I/O and transfer rate statistics
-B Paging statistics
-d Block device statistics
-F [ MOUNT ]
Filesystems statistics
-H Hugepages utilization statistics
-I { <int> | SUM | ALL | XALL }
Interrupts statistics
-m { <keyword> [,...] | ALL }
Power management statistics
Keywords are:
CPU CPU instantaneous clock frequency
FAN Fans speed
FREQ CPU average clock frequency
IN Voltage inputs
TEMP Devices temperature
USB USB devices plugged into the system
-n { <keyword> [,...] | ALL }
Network statistics
Keywords are:
DEV Network interfaces
EDEV Network interfaces (errors)
NFS NFS client
NFSD NFS server
SOCK Sockets (v4)
IP IP traffic (v4)
EIP IP traffic (v4) (errors)
ICMP ICMP traffic (v4)
EICMP ICMP traffic (v4) (errors)
TCP TCP traffic (v4)
ETCP TCP traffic (v4) (errors)
UDP UDP traffic (v4)
SOCK6 Sockets (v6)
IP6 IP traffic (v6)
EIP6 IP traffic (v6) (errors)
ICMP6 ICMP traffic (v6)
EICMP6 ICMP traffic (v6) (errors)
UDP6 UDP traffic (v6)
-q Queue length and load average statistics
-r Memory utilization statistics
-R Memory statistics
-S Swap space utilization statistics
-u [ ALL ]
CPU utilization statistics
-v Kernel table statistics
-w Task creation and system switching statistics
-W Swapping statistics
-y TTY device statistics
将sar命令作为后台进程运行。其语法是:
//所有数据均以二进制形式捕获并保存到文件(数据文件)中。
//然后可以通过sar命令使用 -f选项有选择地显示数据。设置interval和count参数,以interval秒间隔选择count记录。如果不设置count 参数,则选择文件中保存的所有记录。
#sar -o datafile interval count >/dev/null 2>&1 &
二、详细参数解析及使用:
-b (报告 I/O 和传输速率统计数据)
# sar -b 1
02:54:35 PM tps rtps wtps bread/s bwrtn/s
02:54:36 PM 258.00 8.00 250.00 64.00 13952.00
02:54:37 PM 508.00 41.00 467.00 328.00 25304.00
02:54:38 PM 362.00 6.00 356.00 48.00 16744.00
02:54:39 PM 511.00 2.00 509.00 16.00 25488.00
02:54:40 PM 1422.00 6.00 1416.00 48.00 171032.00
tps:每秒向物理设备发出的请求总数。传输是对物理设备的 I/O 请求。多个逻辑请求可以组合成对设备的单个 I/O 请求。传输的大小不确定。
rtps:每秒向物理设备发出的读取请求总数。
wtps:每秒向物理设备发出的写入请求总数。
bread/s:每秒从设备读取的数据总量(以块为单位)。块相当于 2.4 内核及更新版本的扇区,因此大小为 512 字节。对于较旧的内核,块的大小不确定。
bwrtn/s:每秒写入设备的数据总量(以块为单位)。
-B (报告分页统计信息。下面的一些指标仅适用于 2.5 以后的内核。)
# sar -B 1
03:04:02 PM pgpgin/s pgpgout/s fault/s majflt/s pgfree/s pgscank/s pgscand/s pgsteal/s %vmeff
03:04:03 PM 52.00 13044.00 45764.00 0.00 50301.00 0.00 0.00 0.00 0.00
03:04:04 PM 40.00 13444.00 21750.00 0.00 18372.00 0.00 0.00 0.00 0.00
03:04:05 PM 36.00 4224.00 157572.00 0.00 42917.00 0.00 0.00 0.00 0.00
03:04:06 PM 168.00 12692.00 49019.00 0.00 20943.00 0.00 0.00 0.00 0.00
03:04:07 PM 12.00 8636.00 15656.00 0.00 13767.00 0.00 0.00 0.00 0.00
03:04:08 PM 12.00 9952.00 24905.00 0.00 8656.00 0.00 0.00 0.00 0.00
03:04:09 PM 60.00 9388.00 68228.00 0.00 39236.00 0.00 0.00 0.00 0.00
03:04:10 PM 12.00 6872.00 67720.00 0.00 24930.00 0.00 0.00 0.00 0.00
03:04:11 PM 72.00 11592.00 48187.00 0.00 24113.00 0.00 0.00 0.00 0.00
03:04:12 PM 20.00 6896.00 10603.00 0.00 2940.00 0.00 0.00 0.00 0.00
03:04:13 PM 20.00 6508.00 13540.00 0.00 3100.00 0.00 0.00 0.00 0.00
03:04:14 PM 76.00 8788.00 6898.00 0.00 5411.00 0.00 0.00 0.00 0.00
03:04:15 PM 28.00 117308.00 41392.00 0.00 40532.00 0.00 0.00 0.00 0.00
pgpgin/s:系统每秒从磁盘调入的kbytes数。注意:对于旧内核 (2.2.x),该值是每秒的块数(而不是千字节)。
pgpgout/s:系统每秒分页到磁盘的kbytes数。注意:对于旧内核 (2.2.x),该值是每秒的块数(而不是千字节)。
fault/s:系统每秒发生的缺页错误数(major + minor)。这不是生成 I/O 的缺页错误计数,因为某些缺页错误无需 I/O 即可解决。
majflt/s:系统每秒发生的major faults数,这些缺页故障需要从磁盘加载内存页面。
pgfree/s:系统每秒处于空闲列表上的页面数。
pgscank/s:kswapd守护进程每秒扫描的页数。
pgscand/s:每秒直接扫描的页数。
pgsteal/s:系统每秒从缓存(页面缓存和交换缓存)回收以满足其内存需求的页面数。
%vmeff:计算方式为 pgsteal / pgscan,这是页面回收效率的指标。
每秒清除的页(pgsteal)占总扫描页(pgscank+pgscand)的百分比。
如果在该时间间隔内没有扫描任何页面,则该字段显示为零。
-C (从文件读取数据时,告诉sar显示由sadc插入的注释。)
-d (报告每个块设备的活动(仅限内核 2.4 及更高版本))
# sar -d 1
Average: DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util
Average: dev8-0 11.14 0.00 591.30 53.07 0.00 0.05 0.05 0.05
Average: dev8-16 33.15 78.26 1336.96 42.69 0.04 1.25 1.04 3.45
Average: dev8-48 28.53 91.30 902.17 34.82 0.01 0.44 0.12 0.35
Average: dev8-80 18.75 97.83 319.57 22.26 0.01 0.75 0.61 1.14
Average: dev8-32 19.29 21.74 293.48 16.34 0.02 1.00 0.55 1.06
#盘符直观显示 -p
# sar -p -d 1
Average: DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util
Average: sda 8.11 0.00 360.36 44.44 0.00 0.04 0.04 0.03
Average: sdb 50.15 72.07 2142.94 44.17 0.06 1.22 0.98 4.92
Average: sdd 39.94 148.95 908.11 26.47 0.02 0.49 0.28 1.11
显示数据时,一般使用设备规格dev mn( DEV栏)。
m是设备的主设备号。对于内核2.5 之后,n是设备的次设备号,但对于 2.5 之前的内核来说,n 只是一个序列号。如果使用选项 -p ,设备名称也可能会被漂亮地打印。对于某些 2.4 内核,avgqu-sz、await、svctm 和 %util 字段的值可能不可用并显示为 0.00。请注意,磁盘活动取决于要收集的 sadc 选项“-S DISK”和“-S XDISK”。
tps:指示每秒向设备发出的请求数。多个逻辑请求可以组合成对设备的单个 I/O 请求。传输的大小不确定。
rd_sec/s:从设备读取的扇区数。一个扇区的大小为 512 字节。
wr_sec/s:写入设备的扇区数。一个扇区的大小为 512 字节。
avgrq-sz:向设备发出的请求的平均大小(以扇区为单位)。
avgqu-sz:向设备发出的请求的平均队列长度。
await:向设备发出 I/O 请求的平均时间(以毫秒为单位)。这包括请求在队列中花费的时间以及为它们提供服务所花费的时间。
svctm:向设备发出的 I/O 请求的平均服务时间(以毫秒为单位)。
%util:向设备发出 I/O 请求期间的 CPU 时间百分比(设备的带宽利用率)。当该值接近 100% 时,设备就会饱和。
-e [ hh:mm:ss ]
设置报告的结束时间。默认结束时间为 18:00:00。时间必须以 24 小时格式给出。当从文件读取数据或向文件写入数据时可以使用此选项(选项-f或-o)。
-f [ filename ]
从文件名中提取记录(由-o filename标志创建)。filename参数的默认值为当前每日数据文件,即/var/log/sa/sa dd 文件。-f 选项不包括 -o 选项。
-H
显示简短的帮助消息然后退出。
-i interval
选择尽可能接近间隔参数指定的数量的秒数数据记录。
-I { int [,...] | SUM | ALL | XALL }
#指定中断号
# sar -I 80 1
03:27:41 PM INTR intr/s
03:27:42 PM 80 292.00
03:27:43 PM 80 610.00
03:27:44 PM 80 233.00
#查看全部中断
# sar -I XALL 1
03:26:47 PM INTR intr/s
03:26:48 PM 0 0.00
03:26:48 PM 1 0.00
... ...
03:26:48 PM 41 60.00
03:26:48 PM 42 46.00
... ...
#查看中断统计信息
# sar -I SUM 1
03:26:10 PM INTR intr/s
03:26:11 PM sum 32644.00
03:26:12 PM sum 25165.00
03:26:13 PM sum 26566.00
报告给定中断的统计信息。int是中断号。
在命令行上指定多个-I int参数将查看多个独立中断。
SUM关键字表示要显示每秒接收到的中断总数。
ALL 关键字表示要报告前 16 个中断的统计信息。
而XALL关键字表示要报告所有中断(包括潜在的 APIC 中断源)的统计信息。
请注意,中断统计信息取决于要收集的 sadc 选项“-S INT”。
-m (报告电源管理统计数据。)
# sar -m ALL 1
03:34:04 PM CPU MHz
03:34:05 PM all 2049.73
03:34:04 PM TEMP degC(摄氏度) %temp DEVICE
03:34:05 PM 1 39.00 48.75 coretemp-isa-0000
03:34:05 PM 2 35.00 43.75 coretemp-isa-0000
03:34:05 PM 3 34.00 42.50 coretemp-isa-0000
03:34:05 PM 4 34.00 42.50 coretemp-isa-0000
03:34:05 PM 5 32.00 40.00 coretemp-isa-0000
03:34:05 PM 6 33.00 41.25 coretemp-isa-0000
03:34:05 PM 7 35.00 43.75 coretemp-isa-0000
03:34:05 PM 8 33.00 41.25 coretemp-isa-0000
03:34:05 PM 9 36.00 45.00 coretemp-isa-0000
03:34:05 PM 10 40.00 50.00 coretemp-isa-0001
03:34:05 PM 11 37.00 46.25 coretemp-isa-0001
03:34:05 PM 12 37.00 46.25 coretemp-isa-0001
03:34:05 PM 13 38.00 47.50 coretemp-isa-0001
03:34:05 PM 14 36.00 45.00 coretemp-isa-0001
03:34:05 PM 15 36.00 45.00 coretemp-isa-0001
03:34:05 PM 16 33.00 41.25 coretemp-isa-0001
03:34:05 PM 17 38.00 47.50 coretemp-isa-0001
03:34:05 PM 18 35.00 43.75 coretemp-isa-0001
03:34:04 PM BUS idvendor idprod maxpower manufact product
03:34:05 PM 1 46b ff01 200 American Megatrends I Virtual Hub
03:34:05 PM 1 46b ff10 0 American Megatrends I Virtual Keyboard and Mouse
MHz:CPU 时钟频率(以 MHz 为单位)。
-n { keyword [,...] | ALL } (报告网络统计数据。)
可能的关键字有DEV、EDEV、NFS、NFSD、SOCK、IP、EIP、ICMP、EICMP、TCP、 ETCP、UDP、SOCK6、IP6、 EIP6 、ICMP6、EICMP6和UDP6。
# sar -n DEV 1
03:46:57 PM IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s
03:46:58 PM enp61s0f0 7732.00 9626.00 5829.16 8995.03 0.00 0.00 0.00
03:46:58 PM bond0 0.00 0.00 0.00 0.00 0.00 0.00 0.00
03:46:58 PM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00
03:46:58 PM ens1f0 12383.00 17473.00 12938.95 20560.44 0.00 0.00 0.00
1.使用DEV关键字,报告来自网络设备的统计信息:
IFACE:报告统计信息的网络接口的名称。
rxpck/s:每秒接收的数据包总数。
txpck/s:每秒发送的数据包总数。
rxkB/s:每秒接收的kbs总数。
txkB/s:每秒发送的kbs数。
rxcmp/s:每秒接收的压缩数据包数量(对于 cslip 等)。
txcmp/s:每秒发送的压缩数据包数。
rxmcst/s:每秒接收的多播数据包数。
# sar -n EDEV 1
03:47:49 PM IFACE rxerr/s txerr/s coll/s rxdrop/s txdrop/s txcarr/s rxfram/s rxfifo/s txfifo/s
03:47:50 PM enp61s0f0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
03:47:50 PM bond0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
2.EDEV关键字,报告网络设备故障(错误)的统计信息:
IFACE:报告统计信息的网络接口的名称。
rxerr/s:每秒收到的错误数据包总数。
txerr/s:发送数据包时每秒发生的错误总数。
coll/s:发送数据包时每秒发生的冲突数。
rxdrop/s:由于 Linux 缓冲区空间不足而每秒丢弃的接收数据包数。
txdrop/s:由于 Linux 缓冲区空间不足而每秒丢弃的发送数据包数。
txcarr/s:发送数据包时每秒发生的carrier-errors数。
rxfram/s:接收到的数据包每秒发生的帧对齐错误数。
rxfifo/s:接收到的数据包每秒发生的 FIFO 溢出错误数。
txfifo/s:每秒在发送的数据包上发生的 FIFO 溢出错误数。
3.使用NFS关键字,可以报告有关 NFS 客户端活动的统计信息:
call/s:每秒发出的 RPC 请求数。
retrans/s:每秒 RPC 请求数,需要重新传输的请求数(例如由于服务器超时)。
read/s:每秒进行的“读取”RPC 调用数。
write/s:每秒进行的“写入”RPC 调用数。
access/s:每秒进行的“访问”RPC 调用数。
getatt/s:每秒进行的“getattr”RPC 调用数。
4.使用NFSD关键字,可以报告有关 NFS 服务器活动的统计信息:
scall/s:每秒接收的 RPC 请求数。
badcall/s:每秒收到的不良 RPC 请求数,即处理过程中产生错误的请求数。
packet/s:每秒接收的网络数据包数。
udp/s:每秒接收的 UDP 数据包数。
tcp/s:每秒接收的 TCP 数据包数。
hit/s:每秒回复缓存命中数。
miss/s:每秒回复缓存未命中数。
sread/s:每秒收到的“读取”RPC 调用数。
swrite/s:每秒收到的“写入”RPC 调用数。
saccess/s:每秒收到的“访问”RPC 调用数。
sgetatt/s:每秒收到的“getattr”RPC 调用数。
5.使用SOCK关键字,报告正在使用的套接字的统计信息 (IPv4)。
#sar -n SOCK 1
04:00:12 PM totsck tcpsck udpsck rawsck ip-frag tcp-tw
04:00:13 PM 31877 30863 2 0 0 1260
04:00:14 PM 31876 30862 2 0 0 1275
04:00:15 PM 31877 30863 2 0 0 1291
04:00:16 PM 31878 30863 2 0 0 1304
totsck:系统使用的套接字总数。
tcpsck:当前使用的 TCP 套接字数。
udpsck:当前使用的 UDP 套接字数量。
rawsck:当前使用的 RAW 套接字数量。
ip-frag:当前使用的IP分片数。
tcp-tw:处于 TIME_WAIT 状态的 TCP 套接字数量。
6.通过TCP、ETCP关键字,报告有关TCP网络流量的统计信息 :
# sar -n TCP 1
02:21:27 PM active/s passive/s iseg/s oseg/s
02:21:28 PM 140.00 71.00 27744.00 49026.00
02:21:29 PM 27.00 35.00 23427.00 36163.00
02:21:30 PM 122.00 55.00 24611.00 30731.00
02:21:31 PM 23.00 33.00 27882.00 34220.00
02:21:32 PM 99.00 37.00 31234.00 94229.00
02:21:33 PM 48.00 40.00 26622.00 31169.00
02:21:34 PM 99.00 29.00 28212.00 53843.00
02:21:35 PM 40.00 31.00 26675.00 67723.00
active/s:TCP 连接每秒从 CLOSED 状态直接转换到 SYN-SENT 状态的次数 [tcpActiveOpens]。<主动建链次数>
passive/s:TCP 连接每秒从 LISTEN 状态直接转换到 SYN-RCVD 状态的次数 [tcpPassiveOpens]。<被动建链次数>
iseg/s:每秒接收的段总数,包括错误接收的段 [tcpInSegs]。此计数包括在当前建立的连接上接收到的段。
oseg/s:每秒发送的段总数,包括当前连接上的段,但不包括仅包含重传八位组的段 [tcpOutSegs]。
# sar -n ETCP 1
02:30:33 PM atmptf/s estres/s retrans/s isegerr/s orsts/s
02:30:34 PM 20.00 13.00 7.00 0.00 21.00
02:30:35 PM 22.00 83.00 7.00 0.00 79.00
02:30:36 PM 20.00 31.00 7.00 0.00 24.00
02:30:37 PM 22.00 73.00 11.00 0.00 70.00
02:30:38 PM 20.00 25.00 7.00 0.00 25.00
02:30:39 PM 22.00 71.00 5.00 0.00 69.00
02:30:40 PM 20.00 11.00 6.00 0.00 9.00
02:30:41 PM 22.00 113.00 8.00 0.00 101.00
02:30:42 PM 20.00 31.00 26.00 0.00 25.00
atmptf/s:每秒 TCP 连接从 SYN-SENT 状态或 SYN-RCVD 状态直接转换到 CLOSED 状态的次数,加上每秒 TCP 连接从 SYN-SENT 状态直接转换到 LISTEN 状态的次数SYN-RCVD 状态 [tcpAttemptFails]。<尝试建链失败次数>
estres/s:每秒 TCP 连接从 ESTABLISHED 状态或 CLOSE-WAIT 状态直接转换到 CLOSED 状态的次数 [tcpEstabResets]。 <连接被 RST 次数,该值越小越好,一般应该在 1% 以内>
retrans/s:每秒重新传输的段总数 - 即传输的包含一个或多个先前传输的八位字节的 TCP 段数 [tcpRetransSegs]。<TCP 分段重传,该值越小越好,如果超过 20% 则应该引起注意(这个值根据实际情况而定)>
isegerr/s:每秒收到的错误(例如,错误的 TCP 校验和)段的总数 [tcpInErrs]。<错误分段,该值越小越好,一般应该在 1% 以内,同时由 checksum 导致的问题包应该更低>
orsts/s:每秒发送的包含 RST 标志 [tcpOutRsts] 的 TCP 段数。<主动RST连接次数>
TCP 相关统计信息详解可参考:
#netstat -s
link:
https://github.com/moooofly/MarkSomethingDown/blob/master/Linux/TCP%20%E7%9B%B8%E5%85%B3%E7%BB%9F%E8%AE%A1%E4%BF%A1%E6%81%AF%E8%AF%A6%E8%A7%A3.md
7.通过IP关键字,报告有关 IPv4 网络流量的统计信息:
# sar -n IP 1
04:05:53 PM irec/s fwddgm/s idel/s orq/s asmrq/s asmok/s fragok/s fragcrt/s
04:05:54 PM 7609.00 0.00 7609.00 7224.00 0.00 0.00 0.00 0.00
04:05:55 PM 9218.00 0.00 9219.00 9482.00 0.00 0.00 0.00 0.00
04:05:56 PM 8700.00 0.00 8699.00 8561.00 0.00 0.00 0.00 0.00
irec/s:每秒从接口接收的输入数据包总数,包括错误接收的数据报。[ipInReceives]
fwddgm/s:每秒输入数据报的数量,该实体不是其最终 IP 目的地,因此尝试找到将它们转发到最终目的地的路由。[ipForwDatagrams]
idel/s:每秒成功传送到 IP 用户协议(包括 ICMP)的输入数据报总数 [ipInDelivers]。
orq/s:本地 IP 用户协议(包括 ICMP)每秒向 IP 传输请求中提供的 IP 数据报总数 [ipOutRequests]。请注意,此计数器不包括以 fwddgm/s 计数的任何数据报。
asmrq/s:每秒接收到的需要重组的 IP 片段数 [ipReasmReqds]。
asmok/s:每秒成功重组的 IP 数据报数量 [ipReasmOKs]。
fragok/s:每秒已成功分段的 IP 数据报数量 [ipFragOKs]。
fragcrt/s:由于 [ipFragCreates] 上的分段而每秒生成的 IP 数据报分段数。
8.通过EIP关键字,上报IPv4网络错误的统计信息:
# sar -n EIP 1
04:15:08 PM ihdrerr/s iadrerr/s iukwnpr/s idisc/s odisc/s onort/s asmf/s fragf/s
04:15:09 PM 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
04:15:10 PM 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
04:15:11 PM 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
04:15:12 PM 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
ihdrerr/s:每秒由于 IP 标头中的错误而丢弃的输入数据报的数量,包括错误的校验和、版本号不匹配、其他格式错误、超出生存时间、处理 IP 选项时发现的错误等。 [ipInHdrErrors]
iadrerr/s:由于 IP 标头的目标字段中的 IP 地址不是该实体接收的有效地址而每秒丢弃的输入数据报的数量。该计数包括无效地址(例如,0.0.0.0)和不支持的类(例如,E 类)的地址。对于不是 IP 路由器并因此不转发数据报的实体,此计数器包括由于目标地址不是本地地址而丢弃的数据报 [ipInAddrErrors]。
iukwnpr/s:由于未知或不受支持的协议 [ipInUnknownProtos],每秒成功接收但丢弃的本地寻址数据报的数量。
idisc/s:每秒输入 IP 数据报的数量,没有遇到阻止其继续处理的问题,但被丢弃(例如,由于缺少缓冲区空间)[ipInDiscards]。请注意,此计数器不包括等待重新组装时丢弃的任何数据报。
odisc/s:每秒输出 IP 数据报的数量,没有遇到阻止其传输到目的地的问题,但被丢弃(例如,由于缺乏缓冲区空间)[ipOutDiscards]。请注意,如果任何此类数据包满足此(任意)丢弃标准,则此计数器将包括以 fwddgm/s 计数的数据报。
onort/s:由于找不到将数据传输到目的地的路由而每秒丢弃的 IP 数据报数量 [ipOutNoRoutes]。请注意,此计数器包括以 fwddgm/s 计数的满足此“无路由”标准的任何数据包。请注意,这包括主机因所有默认路由器均已关闭而无法路由的任何数据报。
asmf/s:IP 重组算法每秒检测到的失败次数(无论出于何种原因:超时、错误等)[ipReasmFails]。请注意,这不一定是丢弃的 IP 片段的计数,因为某些算法可能会因在接收片段时将片段组合而丢失片段的数量。
fragf/s:每秒被丢弃的 IP 数据报的数量,因为它们需要分段但无法分段,例如,因为设置了它们的“不分段”标志 [ipFragFails]。
9.使用ICMP关键字,报告有关ICMPv4网络流量的统计信息:
imsg/s:每秒接收的 ICMP 消息总数 [icmpInMsgs]。请注意,该计数器包括所有按 ierr/s 计数的计数器。
omsg/s:每秒尝试发送的 ICMP 消息总数 [icmpOutMsgs]。请注意,该计数器包括所有由 oerr/s 计数的计数器。
iech/s:每秒接收的 ICMP Echo(请求)消息数 [icmpInEchos]。
iechr/s:每秒接收的 ICMP Echo Reply 消息数 [icmpInEchoReps]。
oech/s:每秒发送的 ICMP Echo(请求)消息数 [icmpOutEchos]。
oechr/s:每秒发送的 ICMP Echo Reply 消息数 [icmpOutEchoReps]。
itm/s:每秒接收的 ICMP 时间戳(请求)消息数 [icmpInTimestamps]。
itmr/s:每秒接收的 ICMP 时间戳回复消息数 [icmpInTimestampReps]。
otm/s:每秒发送的 ICMP 时间戳(请求)消息数 [icmpOutTimestamps]。
otmr/s:每秒发送的 ICMP 时间戳回复消息数 [icmpOutTimestampReps]。
iadrmk/s:每秒接收的 ICMP 地址掩码请求消息数 [icmpInAddrMasks]。
iadrmkr/s:每秒接收的 ICMP 地址掩码回复消息数 [icmpInAddrMaskReps]。
oadrmk/s:每秒发送的 ICMP 地址掩码请求消息数 [icmpOutAddrMasks]。
oadrmkr/s:每秒发送的 ICMP 地址掩码回复消息数 [icmpOutAddrMaskReps]。
通过EICMP关键字,可以报告ICMPv4错误消息的统计信息。
-o [ filename ]
将读数以二进制形式保存在文件中。每个读数都在单独的记录中。filename参数的默认值为当前每日数据文件,即/var/log/sa/sa dd 文件。-o 选项不包括 -f 选项。所有来自内核的可用数据都保存在该文件中(事实上,sar使用选项“-S ALL”调用其数据收集器sadc 。)
-P { cpu [,...] | ALL }
报告指定处理器的每个处理器统计信息。指定ALL关键字会报告每个处理器的统计信息,以及所有处理器的全局统计信息。请注意,处理器 0 是第一个处理器。
# sar -P 0 1
04:21:44 PM CPU %user %nice %system %iowait %steal %idle
04:21:45 PM 0 1.02 0.00 2.04 1.02 0.00 95.92
04:21:46 PM 0 3.00 0.00 1.00 1.00 0.00 95.00
-p (打印的设备名称)
将此选项与选项 -d 结合使用。默认情况下,名称打印为dev mn,其中 m 和 n 是设备的主设备号和次设备号。使用此选项会显示设备的名称(应)出现在 /dev 中。名称映射由 /etc/sysconfig/sysstat.ioconf 控制 。
-q (报告队列长度和平均负载。)
# sar -q 1
04:24:35 PM runq-sz plist-sz ldavg-1 ldavg-5 ldavg-15 blocked
04:24:36 PM 0 1267 1.17 1.07 1.12 0
04:24:37 PM 0 1269 1.17 1.07 1.12 0
04:24:38 PM 1 1267 1.07 1.06 1.11 2
04:24:39 PM 0 1267 1.07 1.06 1.11 1
04:24:40 PM 1 1267 1.07 1.06 1.11 2
runq-sz:CPU运行队列长度(等待运行时的任务数量)
plist-sz:CPU任务列表中的任务数量。
ldavg-1:最后一分钟的系统平均负载。平均负载计算为指定时间间隔内可运行或正在运行的任务(R 状态)的平均数量以及处于不间断睡眠(D 状态)的任务数量。(进程+线程)
ldavg-5:过去 5 分钟的系统平均负载。
ldavg-15:过去 15 分钟的系统平均负载。
blocked: 当前阻塞的任务数,等待I / O完成。
-r (报告内存利用率统计信息)
# sar -r 1
04:30:35 PM kbmemfree kbmemused %memused kbbuffers kbcached kbcommit %commit kbactive kbinact kbdirty
04:30:36 PM 23131540 108344408 82.41 36476740 8982808 58119784 44.21 97151168 2052280 12
04:30:37 PM 23115156 108360792 82.42 36476740 8982940 58119072 44.21 97169976 2052404 32
04:30:38 PM 23110316 108365632 82.42 36476740 8983228 58119072 44.21 97173684 2052668 32
04:30:39 PM 23106584 108369364 82.43 36476740 8983316 58119072 44.21 97176184 2052748 40
04:30:40 PM 23113436 108362512 82.42 36476740 8983604 58119072 44.21 97174108 2053012 40
04:30:41 PM 23106884 108369064 82.43 36476740 8983696 58116368 44.20 97178464 2053096 20
04:30:42 PM 23333356 108142592 82.25 36476740 8983960 58116368 44.20 96951680 2053364 32
kbmemfree:可用的可用内存量(以kbs为单位)
kbmemused:已用内存量(以kbs为单位)。这没有考虑内核本身使用的内存。
%memused:已用内存的百分比。
kbbuffers:内核用作缓冲区的内存量(以kbs为单位)。
kbcached:内核用于缓存数据的内存量(以kbs为单位)。
kbcommit:当前工作负载所需的内存量(以kbs为单位)。这是对需要多少 RAM/交换区才能保证永远不会出现内存不足的估计。
%commit:当前工作负载所需的内存相对于内存总量(RAM+交换)的百分比。该数字可能大于 100%,因为内核通常会过度使用内存。
kbactive: 当前活跃内存量。除非万不得已,这部分内存才会被回收。
kbinact: 当前非活跃内存总量,当内存不足时,这部分内存最容易被内核回收。
kbdirty:脏页大小,脏页指的是暂存于内存还没来得及持久化到硬盘的数据。可以使用sync刷入硬盘
-R (报告内存统计信息)
# sar -R 1
04:38:37 PM frmpg/s bufpg/s campg/s
04:38:38 PM 295.00 0.00 22.00
04:38:39 PM 61206.00 0.00 71.00
04:38:40 PM -4890.00 0.00 21.00
04:38:41 PM -2422.00 0.00 73.00
04:38:42 PM 1449.00 0.00 15.00
04:38:43 PM -4141.00 0.00 70.00
frmpg/s:系统每秒释放的内存页数。负值表示系统分配的页数。请注意,根据机器架构,页面的大小为 4 kB 或 8 kB。
bufpg/s:系统每秒用作缓冲区的增加内存页数。负值意味着系统用作缓冲区的页面减少。
campg/s:系统每秒缓存的增加内存页数。负值意味着缓存中的页面减少。
-S (报告交换空间利用率统计信息)
kbswpfree:可用交换空间量(以kbs为单位)。
kbswpused:已用交换空间量(以kbs为单位)。
%swpused:已用交换空间的百分比。
kbswpcad:缓存的交换内存量(以kbs为单位)。这是曾经被换出的内存,被换回但仍然位于交换区域中(如果需要内存,则不需要再次换出,因为它已经位于交换区域中。这可以节省 I/O )
%swpcad:缓存交换内存相对于已用交换空间量的百分比。
-u [ ALL ] (报告 CPU 利用率)
# sar -u ALL
12:00:01 AM CPU %usr %nice %sys %iowait %steal %irq %soft %guest %gnice %idle
12:10:01 AM all 2.49 0.00 1.17 1.17 0.00 0.00 0.26 0.00 0.00 94.92
12:20:01 AM all 1.56 0.00 1.05 1.00 0.00 0.00 0.21 0.00 0.00 96.18
12:30:01 AM all 1.61 0.00 1.07 1.02 0.00 0.00 0.23 0.00 0.00 96.08
12:40:01 AM all 1.51 0.00 1.04 1.29 0.00 0.00 0.21 0.00 0.00 95.94
%user:在用户级别(应用程序)执行时发生的 CPU 使用率百分比。请注意,该字段包括运行虚拟处理器所花费的时间。
%usr:在用户级别(应用程序)执行时发生的 CPU 使用率百分比。请注意,此字段不包括运行虚拟处理器所花费的时间。
%nice:在具有良好优先级的用户级别执行时发生的 CPU 使用率百分比。
%system:在系统级别(内核)执行时发生的 CPU 使用率百分比。请注意,该字段包括服务硬件和软件中断所花费的时间。
%sys:在系统级别(内核)执行时发生的 CPU 使用率百分比。请注意,该字段不包括服务硬件或软件中断所花费的时间。
%iowait:系统有未完成的磁盘 I/O 请求期间,一个或多个 CPU 处于空闲状态的时间百分比。
%steal:当管理程序为另一个虚拟处理器提供服务时,虚拟 CPU 或多个 CPU 花费在非自愿等待上的时间百分比。
%irq:CPU 或多个 CPU 服务硬件中断所花费的时间百分比。
%soft:CPU 或多个 CPU 服务软件中断所花费的时间百分比。
%guest:CPU 或多个 CPU 运行虚拟处理器所花费的时间百分比。
%idle:CPU 空闲且系统没有未完成的磁盘 I/O 请求的时间百分比。
-v (报告索引节点、文件和其他内核表的状态)
# sar -v 1
04:48:20 PM dentunusd file-nr inode-nr pty-nr
04:48:21 PM 29916209 33920 240466 1
04:48:22 PM 29916197 33920 240450 1
04:48:23 PM 29916197 33920 240439 1
04:48:24 PM 29916197 33920 240439 1
dentunusd:目录缓存中未使用的缓存条目数。
file-nr:系统使用的文件句柄数。
inode-nr:系统使用的 inode 处理程序的数量。
pty-nr:系统使用的伪终端数量。
-w (报告任务创建和系统切换活动)
# sar -w 1
04:50:13 PM proc/s cswch/s
04:50:15 PM 8.00 22358.00
04:50:16 PM 8.00 23173.00
04:50:17 PM 8.00 25853.00
proc/s:每秒创建的任务总数。
cswch/s:每秒上下文切换的总数。
-W (报告交换统计数据)
pswpin/s:系统每秒引入的交换页总数。
pswpout/s:系统每秒产生的交换页总数。