安装sar工具:apt-get install sysstat
sar [interval] [count]
如果interval是0,则显示开机以来的平均值,如果有interval,却没有指定count,则会产生连续的显示,可以使用-o filename把收集的数据保存在文件中以便回放,如果在指定-o时忘记设置filename,sar会把数据保存在/var/log/sysstat/saxx中,其中xx是当前日期,注意这个文件是二进制文件,不能直接读取,需要用sar命令读取,采用-f filename参数。
如果没有指定-P参数,sar会报告整个系统的进程统计状况,如果设置了-P参数,则sar命令报告指定的活动进程,如果是-P ALL,则sar报告所有的进程统计。
你可以使用标记选择收集系统中指定的信息,如果没有指定标记则只会收集cpu的活动情况,可以通过-A 标记选择所有的信息
如果需要收集所个报告信息,也是非常方便的,可以把sar放入后台运行的sar -o datafile interval count >/dev/null 2>&1 &
下面看看一些基本的选项:
-A 等同于-bBdHqrRSuvwWy -I SUM -I XALL -m ALL -n ALL -u ALL -P ALL
-b 报告IO传输速率
tps 每秒钟物理设备接受的IO请求总量,每个IO请求的大小并不确定
rtps 每秒钟物理设备接收的读IO请求总量
wtps 每秒钟物理设备接收的写IO请求总量
bread/s 每秒钟从物理块设备读取的数据总量,块大小等于扇区大小=512bytes
bwrtn/s 每秒钟向物理块设备写入的数据总量。
-B 报告内存中页交换信息
pgpgin/s 每秒钟从disk到mem交换的sys_page总量,单位是KB
pgpgout/s 每秒钟从mem到disk交换的sys_page总量,单位是KB
fault/s 每秒种产生的缺页数,由(major + minor)构成
majflt/s 每秒钟产生的major faults,引起从disk加载内存page
pgfree/s 每秒钟放在空闲列表中的page数
pgscank/s 每秒钟被kswapd进程扫描的page数
pgscand/s 每秒被直接扫描的page数
pgsteal/s 每秒钟从cache回收的page数
%vmeff 计算值类似于pgsteal / pgscan,用来度量page回收效率的
-C 当从一个文件读取数据时,告诉sar显示评论xx sadc
-d 报告每个块设备的活动情况,每个块设备是以dev m-n来显示的,m是major number,n是minor number,也可以使块设备名称显示的更友好一些,那就是采用-p参数
tps 每秒钟物理设备接受的IO请求总量,每个IO请求的大小并不确定
rd_sec/s 从块设备读取的扇区数,每个扇区大小是512bytes
wr_sec/s 向块设备写入的扇区数
avgrq-sz 请求设备操作数据的平均大小(扇区)
avgqu-sz 磁盘请求队列的平均长度
await 从请求IO操作到设备处理完成消耗的平均时间(毫秒级别),包括请求队列等待时间
svctm 平均服务时间,不要相信该只,在将来会移除该值
%util IO请求占CPU的百分比
-e 在报告中设置结束时间,这个选项可以用在从一个文件中读取/写入数据的时候,-f -o等
-s 设置读取数据的开始时间,只用在从一个文件中读取数据的时候 -f
-f 参看上面
-h 显示帮助
-H 报告拒页的使用情况
-i 设置数据记录时间间隔,和interval一样
-m 报告电源管理统计信息,参数可以是CPU, FAN, FREQ, IN, TEMP and USB或者ALL
-n 报告网络统计信息,参数可以是DEV, EDEV, NFS, NFSD, SOCK, IP, EIP, ICMP, EICMP, TCP, ETCP, UDP, SOCK6, IP6, EIP6, ICMP6, EICMP6 and UDP6.
DEV 统计网络设备的数据信息
EDEV 统计网络设备的错误信息
NFS 统计nfs客户端的活动情况
NFSD 统计nfs服务端的活动情况
SOCK 统计sockets报告,基于IPV4的
IP 统计IPV4网络的流量报告
EIP 统计基于IPV4网络的错误网络报告
TCP 统计基于TCPV4的网络流量
UDP
-o 参看上面
-P 参看上面
-p 参看上面
-q 报告队列长度及负载情况
runq-sz 运行队列长度(number of tasks waiting for run time)
plist-sz 进程列表中的进程数量
ldavg-1 最近1分钟系统负载
ldavg-5 最近5分钟系统负载
ldavg-15 最近15分钟系统负载
blocked 当前阻塞的进程数量,在等待IO完成
-r 内存利用率报告
kbmemfree 可用的空闲内存,单位是KB
kbmemused 已经使用的内存,这个没有考虑内核自己用到的内存
%memused 目前内存的使用率
kbbuffers memory used as buffers
kbcached memory used to cache
kbcommit 当前工作负载锁需要的内存,这是一个估计值,多少RAM/swap可以保证当前负载不会出现out of memory
%commit 当前工作负载需要的内存占RAM+swap的百分比,
kbactive 活跃内存的大小(内存最近被使用过,并且不会被回收)
kbinact 不活跃内存大小(最近未被使用的内存,很符合回收策略的内存)
-R 内存统计信息报告
frmpg/s 每秒钟被系统释放的mem pages,负数表示被系统分配的mem pages
bufpg/s 每秒钟被系统使用的mem pages是当作buffers使用的,负数表示较少的mem被用作buffers
campg/s 每秒钟被系统使用的mem pages是当作cache使用的,负数表示较少的mem被用作cache
-S 报告swap的使用情况
-u cpu利用率报告,参数ALL表示所有的cpu域都显示,很多项
-v 报告inode、file、其他内核表的状态
dentunusd
file-nr 被系统使用的文件句柄数
inode-nr 被系统使用的inode句柄数
pty-nr 被系统使用的pseudo-terminals数目
-w task creation and system switching activity
proc/s 每秒钟创建的进程数
cswch/s 每秒钟的上下文交换数
-W swap的统计报告
pswpin/s 每秒钟系统引入的swap pages
pswpout/s 每秒钟系统换出的swap pages