linux性能分析工具sar,iostat,vmstat
yum install sysstat//安装sar
sar [options] [-A] [-o file] t [n]
在命令行中,n 和t 两个参数组合起来定义采样间隔和次数,t为采样间隔,是必须有的参数,n为采样次数,是可选的,默认值是1,-o file表示将命令结果以二进制格式存放在文件中,file 在此处不是关键字,是文件名。options 为命令行选项,sar命令的选项很多,下面只列出常用选项:
-A:所有报告的总和。
-u:CPU利用率
-v:进程、I节点、文件和锁表状态。
-d:硬盘使用报告。
-r:没有使用的内存页面和硬盘块。
-g:串口I/O的情况。
-b:缓冲区使用情况。
-a:文件读写情况。
-c:系统调用情况。
-R:进程的活动情况。
-y:终端设备活动情况。
-w:系统交换活动。
sar -u   //显示cpu信息,以百分比显示cpu的使用情况
07:40:01 PM     CPU     %user     %nice   %system   %iowait    %steal     %idle
07:50:01 PM     all      0.02      0.00      0.03      0.00      0.00     99.95
08:00:01 PM     all      0.01      0.00      0.02      0.00      0.00     99.97
08:10:01 PM     all      0.01      0.00      0.02      0.00      0.00     99.97
08:20:01 PM     all      0.01      0.00      0.02      0.00      0.00     99.97
08:30:01 PM     all      0.02      0.00      0.02      0.00      0.00     99.96
08:40:01 PM     all      0.01      0.00      0.02      0.00      0.00     99.97
08:50:01 PM     all      0.01      0.00      0.02      0.00      0.00     99.97
Average:        all      0.01      0.00      0.02      0.00      0.00     99.96
 
字段            说明
CPU             CPU编号
%user           在用户模式中运行进程所花的时间
%nice           运行正常进程所花的时间
%system         在内核模式(系统)中运行进程所花的时间
%iowait         没有进程在该CPU上执行时,处理器等待I/O完成的时间
%idle           没有进程在该CPU上执行的时间
sar -u 5 10 //以5秒间隔取10个样本
sar -u -o /tmp/cpu 5 2 //-o表示以二进制的方式存入文件/tmp/cpu
sar -u -f /tmp/cpu //查看二进制文件信息

sar -d 5 2 //输出磁盘I/O,5 2表示间隔和迭代
11:47:27 PM       DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
11:47:32 PM    dev8-0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
11:47:32 PM       DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
11:47:37 PM    dev8-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      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
字段           说明
DEV            磁盘设备
tps            每秒传输数(或者每秒IO数)
rd_sec/s       每秒512字节读取数
wr_sec/s       每秒512字节写入数
 
sar -n DEV|EDEV|SOCK|FULL //DEV网络接口信息,EDEV显示网络错误的统计数据,SOCK显示套接字信息,FULL显示全部
sar -n DEV 5 2
11:58:53 PM     IFACE   rxpck/s   txpck/s   rxbyt/s   txbyt/s   rxcmp/s   txcmp/s  rxmcst/s
11:58:58 PM        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00
11:58:58 PM      eth0      0.60      0.40     47.60     53.60      0.00      0.00      0.00
11:58:58 PM      eth1      2.00      0.00    128.00      0.00      0.00      0.00      0.00
11:58:58 PM     IFACE   rxpck/s   txpck/s   rxbyt/s   txbyt/s   rxcmp/s   txcmp/s  rxmcst/s
11:59:03 PM        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00
11:59:03 PM      eth0      0.40      0.80     25.60    174.40      0.00      0.00      0.00
11:59:03 PM      eth1      2.00      0.00    128.00      0.00      0.00      0.00      0.00
Average:        IFACE   rxpck/s   txpck/s   rxbyt/s   txbyt/s   rxcmp/s   txcmp/s  rxmcst/s
Average:           lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00
Average:         eth0      0.50      0.60     36.60    114.00      0.00      0.00      0.00
Average:         eth1      2.00      0.00    128.00      0.00      0.00      0.00      0.00
Average:         eth2      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        每秒钟接收的多播数据包
 
sar -n EDEV 5 1
12:01:21 AM     IFACE   rxerr/s   txerr/s    coll/s  rxdrop/s  txdrop/s  txcarr/s  rxfram/s  rxfifo/s  txfifo/s
12:01:26 AM        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
12:01:26 AM      eth0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
12:01:26 AM      eth1      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
Average:        IFACE   rxerr/s   txerr/s    coll/s  rxdrop/s  txdrop/s  txcarr/s  rxfram/s  rxfifo/s  txfifo/s
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:         eth1      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过速的错误数
 
sar -n SOCK 5 1
12:07:58 AM    totsck    tcpsck    udpsck    rawsck   ip-frag
12:08:03 AM       443       261         0         0         0
Average:          443       261         0         0         0
字段 说明
totsck 使用的套接字总数量
tcpsck 使用的TCP套接字数量
udpsck 使用的UDP套接字数量
rawsck 使用的raw套接字数量
ip-frag 使用的IP段数量
##########################################################################################
iostat //磁盘吞吐量工具
avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.09    0.01    0.04    0.00    0.00   99.86
Device:  tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
sda      2.02       3.55        71.45    1239286   24952108
tps:平均每秒钟的传送次数,与数据传输“次数”相关,非容量
kB_read/s:启动到现在的平均读取单位
kB_wrtn/s:启动到现在的平均写入单位
kB_read:启动到现在总共读出来的文件 单位
kB_wrtn:启动到现在总共写入的文件单位
iostat -d 2 3 //表示每2秒检查磁盘1次,一共检查3次
iostat 参数
    -c      只显示CPU行
    -d      显示磁盘行   
    -k      以千字节为单位显示磁盘输出
    -t       在输出中包括时间戳   
    -x      在输出中包括扩展的磁盘指标
#############################################################################################
vmstat  -n 3//显示性能指标:进程、内存、交换区、I/O、系统和CPU,每3秒刷新一次   
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs   us sy id wa st
 0  0      0 6923688 333404 4110564  0    0     0     4    2   14   0  0 100  0  0
procs:r是可运行进程的数量,b是阻塞进程的数量。
memory:swpd是已用的交换空间数量,单位KB/秒,free自由RAM数量,buff是缓冲使用的RAM数量,cache是文件系统缓存使用的RAM数量
swap: si是从磁盘分页到内存数量,so是从内存分页到磁盘的数量
io:bi是从磁盘读入的块,bo,写入磁盘的块
ststem:in是系统中断,cs是进程上下文开关
cpu:us是用户模式,sy是内核模式,id是空闲,wa是等待I/O,
-m 选项使内存字段以兆字节为单位显示