概述
sar(System Activity Reporter)是目前linux上最为全面的性能分析工具之一,可以从多方面对系统的活动进行报告。用法如下:
sar [options] [-A] [-o file] t [n]
其中:- t:采样间隔
- n:采样次数
- file:将结果输出到文件中
- options:监控选项
- A:报告总和
使用方法
如果怀疑网络有问题,在测试的时候可以下面的命令来进行观察:
sar -n DEV 10 10
含义是每次采样10秒钟,采样10次。sar提供了6种语法选项来显示网络信息。如下:
- DEV:网络接口信息
- EDEV:错误统计信息
- NFS:活动的NFS客户端的信息
- NFSD:统计NFS服务器的信息
- SOCK:套接字信息
- ALL:上面的5个都显示
此外可以用:
sar -b 5 5
观察I/O传输的情况,可以看到读写的次数和速度。如果CPU不高,那么可能是在I/O上等待,如果不是等待网络I/O,那么可能是在等待磁盘IO,一个可能的情况就是在在换页:
sar -B 5 5
另一个类似的命令:
sar -W 5 5
另外可以观察各个设备的读写量:
sar -d 5 5
如果CPU的使用率比较高,那么可能是在不停地创建进程:
sar -c 5 5
Linux中利用中断来通知,那么如果处理速度上不去,可以看下中断数量:
sar -I { irq | SUM | ALL | XALL } 5 5
在处理速度上不去的时候可以用下面几个命令来看CPU的时间去哪里了:
sar -P { cpu | ALL } 5 5
sar -u 5 5
sar -q 5 5
速度上不去可能是内存的原因,这时候可以查看内存的使用情况:
sar -r 5 5
sar -R 5 5
在高并发的情况下线程之间的切换也是耗性能的,可以用下面的命令观察:
sar -w 5 5
如果怀疑某个进程有关系,可以用下面命令来看进程的错误等情况:
sar -x { pid | SELF | ALL } 5 5
sar -X { pid | SELF | ALL } 5 5
另外,如果想看系统资源的使用情况,比如文件、inode等,可以用如下命令:
sar -v 5 5
----------END----------