sar
sar命令很强大,是分析系统性能的重要工具之一,通过sar指令,可以全面的获取系统的CPU、运行队列、磁盘I/O、分页(交换区)、内存、CPU中断、网络等性能数据。
与iostat同属于Sysstat包
sar使用格式为:
sar [options] [g1] [-o filename] [interval [count] ]
l options 为命令行选项,sar命令的选项很多,下面只列出常用选项:
-A:显示系统所有资源设备(CPU、内存、磁盘)的运行状况。
-b:显示缓冲区在采样时间内的使用情况。
-B:报告“页”使用情况
-c:报告进程创建情况
-d:显示硬盘设备在采样时间内的使用状况。
-I:汇报中断情况
-n:显示网络运行状态。参数后面可跟DEV、EDEV、SOCK和FULL。DEV显示网络接口信息,EDEV显示网络错误的统计数据,SOCK显示套接字信息,FULL显示三个所有的信息。它们可以单独或者一起使用。
-o filename:表示将命令结果以二进制格式存放在文件中,filename是文件名。
-P:显示指定CPU的使用情况。
-q:显示运行队列的大小,它与系统当时的平均负载相同。
-r:显示内存和交换区。
-u:显示CPU在采样时间内的负载状态。
-v:显示进程、文件、I节点和锁表状态。
-R:显示内存使用信息
-w:显示系统交换活动在采样时间内的状态。
-x:可以针对某个特定PID给出统计信息,
可以直接指定进程ID号;
也可以指定为SELF,这样就是检测sar进程本身;
如果设定为ALL,则表示汇报所有系统进程信息。
-X:汇报特定PID的子进程的信息
-y:显示终端设备(TTY)在采样时间内的活动情况。
interval:表示采样间隔时间,是必须有的参数。
count: 表示采样次数,是可选参数,默认值是1。
例如:
1.要查看系统CPU的整体负载状况,每3秒统计一次,统计5次,可以使用以下组合:
sar –u 3 5
2.系统的CPU计数是从0开始的,如果要查看第二颗CPU的运行负载,使用下面组合:
sar –P 1 3 5
3.要查看系统磁盘的读写性能,使用以下组合:
sar -d 3 5
4.查看系统内存使用情况、网络运行状态,可以分别使用下面命令:
sar -r 5 2
sar -n DEV 5 3
5.-o filename 把信息存储到文件中,不过用cat看会显示为乱码,可以用sar -f filename选项,-h选项,格式将更易于阅读。
如果-o后没写文件名,sar会输出到/var/log/saDD文件里,其中DD表示当天的日期数字。
sar 2 3 -o sar_info
6.CPU是多核处理器,sar定位某一个核的运行信息。用-P,
设定-P选项时,sar给出的是平均值。
-P选项来指定某一核,就可以给定具体信息。
-P ALL时,sar就会根据每一个核都给出其具体信息,再给出一个总的信息。
7.网络相关
-n选项可以汇报网络相关信息,可用参数:DEV、EDEV、SOCK和FULL。
DEV参数,将显示和网络设备相关信息,如lo,eth0或eth1等,如:
[root@localhost data]# sar -n DEV 1 1
15时06分26秒 IFACE rxpck/s txpck/s rxbyt/s txbyt/s rxcmp/s txcmp/s rxmcst/s
15时06分27秒 lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00
15时06分27秒 eth0 11.22 0.00 727.55 0.00 0.00 0.00 0.00
15时06分27秒 sit0 0.00 0.00 0.00 0.00 0.00 0.00 0.00
IFACE:就是网络设备的名称;
rxpck/s:每秒钟接收到的包数目
txpck/s:每秒钟发送出去的包数目
rxbyt/s:每秒钟接收到的字节数
txbyt/s:每秒钟发送出去的字节数
rxcmp/s:每秒钟接收到的压缩包数目
txcmp/s:每秒钟发送出去的压缩包数目
txmcst/s:每秒钟接收到的多播包的包数目
EDEV参数,针对网络设备显示其失败情况,如:
[root@localhost data]# sar -n EDEV 1 1
15时09分08秒 IFACE rxerr/s txerr/s coll/s rxdrop/s txdrop/s txcarr/s rxfram/s rxfifo/s txfifo/s
15时09分09秒 lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
15时09分09秒 eth0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
15时09分09秒 sit0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
rxerr/s:每秒钟接收到的损坏的包的数目
txerr/s:当发送包时,每秒钟发生的错误数
coll/s:当发送包时,每秒钟发生的冲撞(collisions)数(这个是在半双工模式下才有)
rxdrop/s:由于缓冲区满,网络设备接收端,每秒钟丢掉的网络包的数目
txdrop/s:由于缓冲区满,网络设备发送端,每秒钟丢掉的网络包的数目
txcarr/s:当发送数据包时,每秒钟载波错误发生的次数
rxfram/s:在接收数据包时,每秒钟发生的帧对齐错误的次数
rxfifo/s:在接收数据包时,每秒钟缓冲区溢出错误发生的次数
txfifo/s:在发送数据包时,每秒钟缓冲区溢出错误发生的次数
SOCK参数,显示socket连接信息,如:
[root@localhost data]# sar -n SOCK 1 1
15时09分27秒 totsck tcpsck udpsck rawsck ip-frag
15时09分28秒 467 4 9 0 0
Average: 467 4 9 0 0
totsck:被使用的socket的总数目
tcpsck:当前正在被使用于TCP的socket数目
udpsck:当前正在被使用于UDP的socket数目
rawsck:当前正在被使用于RAW的socket数目
ip-frag:当前的IP分片的数目
FULL参数,是上述DEV、EDEV和SOCK的综合。
8.指定时间结束
-e hh:mm:ss选项,即结束时间。-e选项只能用在读取(-f)或写入(-o)信息文件时才可用。
sar命令很强大,是分析系统性能的重要工具之一,通过sar指令,可以全面的获取系统的CPU、运行队列、磁盘I/O、分页(交换区)、内存、CPU中断、网络等性能数据。
与iostat同属于Sysstat包
sar使用格式为:
sar [options] [g1] [-o filename] [interval [count] ]
l options 为命令行选项,sar命令的选项很多,下面只列出常用选项:
-A:显示系统所有资源设备(CPU、内存、磁盘)的运行状况。
-b:显示缓冲区在采样时间内的使用情况。
-B:报告“页”使用情况
-c:报告进程创建情况
-d:显示硬盘设备在采样时间内的使用状况。
-I:汇报中断情况
-n:显示网络运行状态。参数后面可跟DEV、EDEV、SOCK和FULL。DEV显示网络接口信息,EDEV显示网络错误的统计数据,SOCK显示套接字信息,FULL显示三个所有的信息。它们可以单独或者一起使用。
-o filename:表示将命令结果以二进制格式存放在文件中,filename是文件名。
-P:显示指定CPU的使用情况。
-q:显示运行队列的大小,它与系统当时的平均负载相同。
-r:显示内存和交换区。
-u:显示CPU在采样时间内的负载状态。
-v:显示进程、文件、I节点和锁表状态。
-R:显示内存使用信息
-w:显示系统交换活动在采样时间内的状态。
-x:可以针对某个特定PID给出统计信息,
可以直接指定进程ID号;
也可以指定为SELF,这样就是检测sar进程本身;
如果设定为ALL,则表示汇报所有系统进程信息。
-X:汇报特定PID的子进程的信息
-y:显示终端设备(TTY)在采样时间内的活动情况。
interval:表示采样间隔时间,是必须有的参数。
count: 表示采样次数,是可选参数,默认值是1。
例如:
1.要查看系统CPU的整体负载状况,每3秒统计一次,统计5次,可以使用以下组合:
sar –u 3 5
2.系统的CPU计数是从0开始的,如果要查看第二颗CPU的运行负载,使用下面组合:
sar –P 1 3 5
3.要查看系统磁盘的读写性能,使用以下组合:
sar -d 3 5
4.查看系统内存使用情况、网络运行状态,可以分别使用下面命令:
sar -r 5 2
sar -n DEV 5 3
5.-o filename 把信息存储到文件中,不过用cat看会显示为乱码,可以用sar -f filename选项,-h选项,格式将更易于阅读。
如果-o后没写文件名,sar会输出到/var/log/saDD文件里,其中DD表示当天的日期数字。
sar 2 3 -o sar_info
6.CPU是多核处理器,sar定位某一个核的运行信息。用-P,
设定-P选项时,sar给出的是平均值。
-P选项来指定某一核,就可以给定具体信息。
-P ALL时,sar就会根据每一个核都给出其具体信息,再给出一个总的信息。
7.网络相关
-n选项可以汇报网络相关信息,可用参数:DEV、EDEV、SOCK和FULL。
DEV参数,将显示和网络设备相关信息,如lo,eth0或eth1等,如:
[root@localhost data]# sar -n DEV 1 1
15时06分26秒 IFACE rxpck/s txpck/s rxbyt/s txbyt/s rxcmp/s txcmp/s rxmcst/s
15时06分27秒 lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00
15时06分27秒 eth0 11.22 0.00 727.55 0.00 0.00 0.00 0.00
15时06分27秒 sit0 0.00 0.00 0.00 0.00 0.00 0.00 0.00
IFACE:就是网络设备的名称;
rxpck/s:每秒钟接收到的包数目
txpck/s:每秒钟发送出去的包数目
rxbyt/s:每秒钟接收到的字节数
txbyt/s:每秒钟发送出去的字节数
rxcmp/s:每秒钟接收到的压缩包数目
txcmp/s:每秒钟发送出去的压缩包数目
txmcst/s:每秒钟接收到的多播包的包数目
EDEV参数,针对网络设备显示其失败情况,如:
[root@localhost data]# sar -n EDEV 1 1
15时09分08秒 IFACE rxerr/s txerr/s coll/s rxdrop/s txdrop/s txcarr/s rxfram/s rxfifo/s txfifo/s
15时09分09秒 lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
15时09分09秒 eth0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
15时09分09秒 sit0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
rxerr/s:每秒钟接收到的损坏的包的数目
txerr/s:当发送包时,每秒钟发生的错误数
coll/s:当发送包时,每秒钟发生的冲撞(collisions)数(这个是在半双工模式下才有)
rxdrop/s:由于缓冲区满,网络设备接收端,每秒钟丢掉的网络包的数目
txdrop/s:由于缓冲区满,网络设备发送端,每秒钟丢掉的网络包的数目
txcarr/s:当发送数据包时,每秒钟载波错误发生的次数
rxfram/s:在接收数据包时,每秒钟发生的帧对齐错误的次数
rxfifo/s:在接收数据包时,每秒钟缓冲区溢出错误发生的次数
txfifo/s:在发送数据包时,每秒钟缓冲区溢出错误发生的次数
SOCK参数,显示socket连接信息,如:
[root@localhost data]# sar -n SOCK 1 1
15时09分27秒 totsck tcpsck udpsck rawsck ip-frag
15时09分28秒 467 4 9 0 0
Average: 467 4 9 0 0
totsck:被使用的socket的总数目
tcpsck:当前正在被使用于TCP的socket数目
udpsck:当前正在被使用于UDP的socket数目
rawsck:当前正在被使用于RAW的socket数目
ip-frag:当前的IP分片的数目
FULL参数,是上述DEV、EDEV和SOCK的综合。
8.指定时间结束
-e hh:mm:ss选项,即结束时间。-e选项只能用在读取(-f)或写入(-o)信息文件时才可用。