linux(redhat5.5) 系统维护常用命令之sar
sar 命令行的常用格式: sar [options] [-A] [-o file] t [n]
n和t 两个参数组合起来定义采样间隔和次数,t为采样间隔,是必须有的参数,n为采样次数,是可选的,默认值是1
-o file表示将命令结果以存放在文件中,file是文件名
-A:所有报告的总和。
-u:CPU利用率
-v:进程、I节点、文件和锁表状态。
-d:硬盘使用报告。
-r:没有使用的内存页面和硬盘块。
-g:串口I/O的情况。
-b:缓冲区使用情况。
-a:文件读写情况。
-c:系统调用情况。
-R:进程的活动情况。
-y:终端设备活动情况。
-w:系统交换活动。
Eg1:CPU统计数据:使用命令行 sar -u t n
每10秒采样一次,连续采样5次,观察CPU的使用情况,并将采样结果以不同格式的文件形式存入当前目录下的文件cpu.txt中:
[root@primary ~]# sar -u 10 5 -o cpu.txt
Linux 2.6.18-92.el5 (primary) 02/10/2011
05:12:04 AM CPU %user %nice %system %iowait %steal %idle
05:12:14 AM all 0.19 0.00 0.75 0.00 0.00 99.06
05:12:24 AM all 6.38 0.00 4.32 0.19 0.00 89.12
05:12:34 AM all 0.19 0.00 0.47 0.09 0.00 99.25
05:12:44 AM all 0.19 0.00 0.56 0.00 0.00 99.25
05:12:54 AM all 0.28 0.00 1.03 0.09 0.00 98.60
Average: all 1.44 0.00 1.42 0.07 0.00 97.06
显示内容包括:
%usr:CPU处在用户模式下的时间百分比。
%nice:运行正常进程所花的时间
%system:在内核模式(系统)中运行进程所花的时间
%iowait:没有进程在该CPU上执行时,处理器等待I/O完成的时间
%idle:没有进程在该CPU上执行的时间(CPU空闲时间百分比)
在显示中:%idle值高,表示CPU较空闲,如果%idle值高但系统响应慢时,有可能是CPU等待分配内存,此时应加大内存容量。%idle值如果持续低于10,那么系统的CPU处理能力相对较低,表明系统中最需要解决的资源是CPU。
如果要查看文件cpu.txt中的内容,则需键入如下sar命令:[root@primary ~]# sar -u -f cpu.txt .sar命令即可以实时采样,又可以对以往的采样结果进行查询。
Eg2:进程和文件锁的状态:使用命行sar -v t n
每10秒采样一次,连续采样5次,观察核心表的状态,需键入如下命令:
[root@primary ~]# sar -v 10 5
Linux 2.6.18-92.el5 (primary) 02/10/2011
05:18:32 AM dentunusd file-sz inode-sz super-sz %super-sz dquot-sz %dquot-sz rtsig-sz %rtsig-sz
05:18:42 AM 12663 5610 9667 0 0.00 0 0.00 0 0.00
05:18:52 AM 12659 5610 9659 0 0.00 0 0.00 0 0.00
05:19:02 AM 12659 5610 9659 0 0.00 0 0.00 0 0.00
05:19:12 AM 12659 5610 9659 0 0.00 0 0.00 0 0.00
05:19:22 AM 12663 5610 9667 0 0.00 0 0.00 0 0.00
Average: 12661 5610 9662 0 0.00 0 0.00 0 0.00
显示内容包括:
file-sz: 目前核心中正在使用或分配的文件表的表项数,由核心参数MAX-FILE控制。
inod-sz:目前核心中正在使用或分配的i节点表的表项数,由核心参数 MAX-INODE控制。
Eg3:磁盘I/O统计数据:
a 使用命行sar -d t n
每10秒采样一次,连续采样5次,报告设备使用情况,需键入如下命令:
[root@primary ~]# sar -d 10 5
Linux 2.6.18-92.el5 (primary) 02/10/2011
05:20:31 AM DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util
05:20:41 AM dev8-0 1.59 15.72 32.18 30.12 0.00 1.94 1.71 0.27
05:20:41 AM dev22-0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
05:20:41 AM DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util
05:20:51 AM dev8-0 1.31 0.00 51.78 39.43 0.00 1.00 1.00 0.13
05:20:51 AM dev22-0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
05:20:51 AM DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util
05:21:01 AM dev8-0 6.65 0.75 114.61 17.35 0.03 5.03 0.99 0.66
05:21:01 AM dev22-0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
05:21:01 AM DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util
05:21:11 AM dev8-0 0.94 0.00 23.20 24.80 0.00 1.00 1.00 0.09
05:21:11 AM dev22-0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
05:21:11 AM DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util
05:21:21 AM dev8-0 2.34 1.50 58.48 25.60 0.00 1.24 1.20 0.28
05:21:21 AM dev22-0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
Average: DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util
Average: dev8-0 2.57 3.60 56.04 23.24 0.01 3.25 1.12 0.29
Average: dev22-0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
显示内容包括:
DEV: sar命令正在监视的块设备的名字。
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中的以下各项:
b 使用命行sar -b t n
每30秒采样一次,连续采样5次,报告缓冲区的使用情况,需键入如下命令:
[root@primary ~]# sar -b 10 5
Linux 2.6.18-92.el5 (primary) 02/10/2011
05:24:14 AM tps rtps wtps bread/s bwrtn/s
05:24:24 AM 3.00 0.09 2.91 0.75 90.81
05:24:34 AM 2.90 0.00 2.90 0.00 38.91
05:24:44 AM 2.62 0.09 2.53 0.75 38.99
05:24:54 AM 1.31 0.00 1.31 0.00 31.49
05:25:04 AM 0.75 0.00 0.75 0.00 20.22
Average: 2.12 0.04 2.08 0.30 44.07
显示内容包括:
bread/s: 每秒从硬盘读入系统缓冲区buffer的物理块数。
Eg4: 网络统计数据:sar提供四种不同的语法选项来显示网络信息。-n选项使用常用的开关:DEV、EDEV、SOCK和ALL。
DEV显示网络接口信息,EDEV显示关于网络错误的统计数据,SOCK显示套接字信息,ALL显示所有开关。
它们可以单独或者一起使用。
a 使用命行sar -n DEV
[root@primary ~]# sar -n DEV
Linux 2.6.18-92.el5 (primary) 02/10/2011
04:59:59 AM LINUX RESTART
05:10:01 AM IFACE rxpck/s txpck/s rxbyt/s txbyt/s rxcmp/s txcmp/s rxmcst/s
05:20:01 AM lo 0.41 0.41 31.20 31.20 0.00 0.00 0.00
05:20:01 AM eth0 15.41 0.30 1287.54 56.27 0.00 0.00 0.00
05:20:01 AM sit0 0.00 0.00 0.00 0.00 0.00 0.00 0.00
05:30:01 AM lo 0.44 0.44 39.88 39.88 0.00 0.00 0.00
05:30:01 AM eth0 21.99 0.28 1594.55 48.00 0.00 0.00 0.00
05:30:01 AM sit0 0.00 0.00 0.00 0.00 0.00 0.00 0.00
05:40:01 AM lo 0.44 0.44 39.78 39.78 0.00 0.00 0.00
05:40:01 AM eth0 20.16 0.12 1541.92 27.89 0.00 0.00 0.00
05:40:01 AM sit0 0.00 0.00 0.00 0.00 0.00 0.00 0.00
Average: lo 0.43 0.43 36.95 36.95 0.00 0.00 0.00
Average: eth0 19.18 0.23 1474.67 44.05 0.00 0.00 0.00
Average: sit0 0.00 0.00 0.00 0.00 0.00 0.00 0.00
IFACE:LAN接口
rxpck/s:每秒钟接收的数据包
txpck/s:每秒钟发送的数据包
rxbyt/s:每秒钟接收的字节数
txbyt/s:每秒钟发送的字节数
rxcmp/s:每秒钟接收的压缩数据包
txcmp/s:每秒钟发送的压缩数据包
rxmcst/s:每秒钟接收的多播数据包
b 使用命行sar -n EDEV
显示系统中所有网络接口的统计信息。网卡的吞吐量是否过载以及网络是否稳定,是否出现丢包情况
[root@primary ~]# sar -n EDEV
Linux 2.6.18-92.el5 (primary) 02/10/2011
04:59:59 AM LINUX RESTART
05:10:01 AM IFACE rxerr/s txerr/s coll/s rxdrop/s txdrop/s txcarr/s rxfram/s rxfifo/s txfifo/s
05:20:01 AM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
05:20:01 AM eth0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
05:20:01 AM sit0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
05:30:01 AM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
05:30:01 AM eth0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
05:30:01 AM sit0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
Average: lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
Average: eth0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
Average: sit0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
显示内容包括:
IFACE:LAN接口
rxerr/s:每秒钟接收的坏数据包
txerr/s:每秒钟发送的坏数据包
coll/s:每秒冲突数
rxdrop/s:因为缓冲充满,每秒钟丢弃的已接收数据包数
txdrop/s:因为缓冲充满,每秒钟丢弃的已发送数据包数
txcarr/s:发送数据包时,每秒载波错误数
rxfram/s:每秒接收数据包的帧对齐错误数
rxfifo/s:接收的数据包每秒FIFO过速的错误数
txfifo/s:发送的数据包每秒FIFO过速的错误数
C 使用命行sar -n SOCK
[root@primary ~]# sar -n SOCK
Linux 2.6.18-92.el5 (primary) 02/10/2011
04:59:59 AM LINUX RESTART
05:10:01 AM totsck tcpsck udpsck rawsck ip-frag
05:20:01 AM 133 11 6 0 0
05:30:01 AM 133 11 6 0 0
05:40:01 AM 122 11 4 0 0
Average: 129 11 5 0 0
totsck:使用的套接字总数量
tcpsck:使用的TCP套接字数量
udpsck:使用的UDP套接字数量
rawsck:使用的raw套接字数量
ip-frag:使用的IP段数量
sar命令的用法颇多,需要几个sar命令结合起来使用,当CPU存在瓶颈,可用sar -u 和sar -q来看,当I/O存在瓶颈,可用sar -b、sar -u和 sar-d来看.
同时还可以结合vmstat和iostat来查看
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/20976446/viewspace-687139/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/20976446/viewspace-687139/