//查看指定文件CPU使用记录
#sar -f /var/log/sa/sa03
00:00:01 CPU %user %nice %system %iowait %idle
00:10:01 all 52.32 0.00 30.92 1.40 15.37
00:20:01 all 50.11 0.00 28.97 0.82 20.10
00:30:01 all 45.94 0.00 26.23 0.88 26.95
00:40:02 all 44.92 0.00 25.54 0.81 28.73
00:50:01 all 45.34 0.00 26.17 0.77 27.72
01:00:01 all 43.23 0.00 24.85 0.94 30.97
01:10:01 all 43.65 0.00 25.15 0.84 30.36
01:20:01 all 43.13 0.00 24.99 0.92 30.96
//查看指定文件1/5/15分钟平均负载记录
#sar -q -f /var/log/sa/sa03
00:00:01 runq-sz plist-sz ldavg-1 ldavg-5 ldavg-15
00:10:01 5 330 15.00 17.72 17.09
00:20:01 4 331 8.02 13.84 16.11
00:30:01 4 331 17.79 13.42 14.56
00:40:02 12 332 11.66 12.31 13.51
00:50:01 3 326 13.88 12.23 12.90
01:00:01 26 337 10.10 12.03 12.42
01:10:01 8 334 12.34 10.78 11.46
01:20:01 13 329 10.00 11.58 11.49
//查看指定文件7点到9点CPU使用记录,如要看负载加参数-q
#sar -s 07:00:00 -e 10:00:00 -f /var/log/sa/sa03
07:00:01 CPU %user %nice %system %iowait %idle
07:10:01 all 42.39 0.00 23.54 0.64 33.43
07:20:01 all 41.42 0.00 24.47 0.77 33.34
07:30:01 all 42.93 0.00 25.55 0.75 30.77
07:40:01 all 50.33 0.00 29.08 0.66 19.92
07:50:01 all 51.40 0.00 30.30 0.69 17.61
08:00:01 all 47.63 0.00 28.37 0.66 23.34
08:10:01 all 44.23 0.00 26.30 0.71 28.76
08:20:01 all 43.46 0.00 24.58 0.58 31.37
08:30:01 all 43.86 0.00 26.06 0.60 29.49
08:40:01 all 44.80 0.00 26.86 0.66 27.67
08:50:02 all 47.46 0.00 27.16 0.51 24.87
09:00:01 all 46.10 0.00 27.61 0.47 25.81
09:10:01 all 46.95 0.00 27.95 0.69 24.40
09:20:02 all 49.30 0.00 28.27 0.79 21.64
09:30:01 all 49.99 0.00 29.07 0.64 20.30
09:40:01 all 51.41 0.00 30.75 0.52 17.32
09:50:01 all 51.49 0.00 30.20 0.66 17.65
Average: all 46.77 0.00 27.42 0.65 25.16
1.sar是做什么的?
主要负责收集、汇报与存储系统运行信息。
2.sar怎么控制信息输出的时间间隔和次数?
有两个参数非常有用,就是“时间间隔”和“输出次数”。
例如:sar 0 表示输出的信息是从开机到现在为止的平均值
sar 60 5 表示每60秒输出一次,共输出5次,历时300秒。
sar 60 0 表示每60秒输出一次,一直到关机为止。注意:sar 0 0 这样是行不通的。
3.保存sar输出的信息
sar提供了一个选项:-o filename。
例如:sar 5 6 -o sys_info
sar -f sys_info 用于读取存储的信息文件,不能使用cat,否则将显示乱码。
4.如果没有在使用-o时指定保存的文件名,sar会将信息保存在“/var/log/saDD”文件中,其中DD表示当天的日期数字。
例如:sar 5 6 -o
就会保存在/var/log/sa/sa27文件中,当前日期是2011年6月27日。
5.sar输出查看cpu之外的信息
常用选项包括:
-b:报告I/O使用情况以及传输速率。(只适用于2.5及之前的内核,所以新内核有可能不支持这个选项)
-B:报告“页”使用情况
-c:报告进程创建情况
-d:报告每一个块设备的使用情况(当你使用时,你会发现在DEV列有类似dev1-7格式的字符串,其中1代表设备的主序号,n代表设备的从序号,而且rd_sec/s列和wr_sec/s列的单位都是512bytes,也就是512B,也就是0.5KB)
-I:汇报中断情况
-n:汇报网络情况
-P:设定CPU
-q:汇报队列长度和负载信息
-r:汇报内存和交换区使用情况
-R:汇报内存情况
-u:汇报CPU使用情况
-v:汇报i节点、文件和其他内核表信息
-w:汇报系统上下文切换情况
-x:可以针对某个特定PID给出统计信息,
可以直接指定进程ID号;
也可以指定为SELF,这样就是检测sar进程本身;
如果设定为ALL,则表示汇报所有系统进程信息。
-X:汇报特定PID的子进程的信息
-y:设定TTY设备的信息。
6.对网络的专门实例
sar命令使用-n选项可以回报网络相关信息,可用参数包括:DEV、EDEV、SOCK、FULL。
例如:sar -n DEV 1 2 将显示lo、eth0、eth1等信息
IFACE:就是网络设备的名称;
rxpck/s:每秒钟接收到的包数目
txpck/s:每秒钟发送出去的包数目
rxbyt/s:每秒钟接收到的字节数
txbyt/s:每秒钟发送出去的字节数
rxcmp/s:每秒钟接收到的压缩包数目
txcmp/s:每秒钟发送出去的压缩包数目
txmcst/s:每秒钟接收到的多播包的包数目
sar -n EDEV 1 3 会针对网络设备回报其失败情况
rxerr/s:每秒钟接收到的损坏的包的数目
txerr/s:当发送包时,每秒钟发生的错误数
coll/s:当发送包时,每秒钟发生的冲撞(collisions)数(这个是在半双工模式下才有)
rxdrop/s:由于缓冲区满,网络设备接收端,每秒钟丢掉的网络包的数目
txdrop/s:由于缓冲区满,网络设备发送端,每秒钟丢掉的网络包的数目
txcarr/s:当发送数据包时,每秒钟载波错误发生的次数
rxfram/s:在接收数据包时,每秒钟发生的帧对齐错误的次数
rxfifo/s:在接收数据包时,每秒钟缓冲区溢出错误发生的次数
txfifo/s:在发送数据包时,每秒钟缓冲区溢出错误发生的次数
sar -n SOCK 1 3 会针对socket连接进行汇报
totsck:被使用的socket的总数目
tcpsck:当前正在被使用于TCP的socket数目
udpsck:当前正在被使用于UDP的socket数目
rawsck:当前正在被使用于RAW的socket数目
ip-frag:当前的IP分片的数目
sar -n FULL 1 3 相当于上述DEV、EDEV和SOCK三者的综合。
7.对磁盘的专门实例
-d的输出显示了一个度量时间段内各种与磁盘相关的统计数据