1、sar命令:Collect, report, or save system activity information.
1)选项及相应例子:
-u:报告CPU使用情况。输出包括%user、%nice、%system、%iowait(Percentage of time that the CPU or CPUs were idle during which the system had an outstanding disk I/O request,即CPU空转且期间有未完成的磁盘I/O请求的时间的占比)、%idle(CPU空转且期间无未完成I/O的时间的占比)等。
-v:报告inode、文件和其他内核表的状态。输出包括dentunusd(目录高速缓存中未用的cache条目数)、file-sz(已用的文件句柄数)、inode-sz、super-sz(内核已分配的超级块句柄数)、%super-sz等。
-n{DEV|EDEV|NFS|NFSD|SOCK|FULL}:报告网络的统计数据。
关键词是DEV时,报告的是网络设备的统计数据。输出包括IFACE、rxpck/s(每秒收包量)、txpck/s(每秒发包量)、rxbyt/s、txbyt/s、rxmcst/s(每秒收到的多播的包量)等。如sar -n DEV 1 10:每秒一次,共10次,报告网络设备的统计数据。
关键词是SOCK时,报告的是使用中的sockets的统计数据。输出包括:totsck(已用socket数)、tcpsck(当前在用的tcp socket数)、udpsck、rawsck等。
关键词是FULL时,相当于指定以上所有的关键词。
-d:报告每个块设备的使用情况,设备一般使用dev m-n表示,其中m和n分别表示主次设备号,这里-p选项可以指定用设备名称来表示设备。输出包括tps(每秒传输请求的次数,逻辑上的多个I/O请求会被物理地合并为一个)、rd_sec/s(每秒从设备读的扇区数,每个扇区512B)、wr_sec/s、avgrq-sz(下发到设备的请求的平均大小,单位是扇区)、await(每个I/O请求被服务的平均时间,单位是毫秒,包括在队列里的时间和实际上被服务的时间)、%util(I/O请求被下发到设备的时间占全部CPU时间的比值)等。
-b:报告I/O和传输速率的统计情况。输出包括tps(每秒传输请求的次数)、rtps、wtps、bread/s(block大小为512B)、bwrtn/s等。
-o [ filename ]:将输出以二进制形式保存到指定文件(默认是/var/log/sa/sadd)。-f选项的作用与-o相反。
2、vmstat:Report virtual memory statistics
1)vmstat输出关于进程、内存、分页、块IO和CPU活动情况等信息。第一次输出给出了自上次重启后的均值,之后的输出给出了指定间隔时间内的采样周期的情况。关于进程和内存的信息是瞬时的。
2)示例及分析,如vmstat 2 3表示每2秒一次,共3次输出。如下图:
其中,Procs栏的r表示等待时间片的进程数,b表示处于不可中断睡眠状态(一般由IO引起)的进程数;Memory栏的swpd表示已用的虚拟内存的数量;IO栏的bi表示从块设备接收到的块数(blocks/s),bo表示发送到块设备的块数;System栏的in表示每秒中断数(包括时钟中断),cs表示每秒上下文切换的次数。
不断学习中。。。