sar(System Activity Reporter,系统活动情况报告)是Linux上一个非常全面的系统性能分析工具,它可以从多个方面对系统的活动进行报告,包括但不限于CPU使用情况、内存状态、磁盘I/O、网络状态等。以下是sar命令的一些常用参数及其简要说明:

常用参数

  1. -A:显示所有报告的总和。
  2. -u:显示CPU使用情况的统计信息,包括用户模式、系统模式、空闲时间等百分比。
  3. -v:显示inode、文件和其他内核表的统计信息。
  4. -d:显示磁盘I/O的统计信息,包括每秒钟的读写请求数、传输的数据量等。
  5. -r:显示内存和交换空间的统计信息,如空闲内存、已用内存等。
  6. -b:显示I/O和传送速率的统计信息,如缓冲区使用情况。
  7. -a:报告文件读写情况。
  8. -c:显示进程统计信息,如每秒创建的进程数。
  9. -R:显示内存页面的统计信息,如内存页面的换入换出情况。
  10. -y:显示终端设备活动情况。
  11. -w:显示系统交换活动信息,如每秒换入换出的交换页面数。
  12. -n:显示网络运行状态。参数后面可以跟DEV、EDEV、SOCK和FULL,分别显示网络接口信息、网络错误的统计数据、套接字信息和前三者所有信息。
  13. -q:显示运行队列的大小和平均负载,与系统当时的平均负载相同。
  14. -B:显示内存分页情况,如每秒从磁盘或SWAP置换到内存的字节数等。
  15. -p:显示当前系统中指定CPU的使用信息。
  16. -o file:将命令结果以二进制格式存放在文件中,file是文件名。

使用示例

  • 每隔2秒输出一次CPU使用情况,共输出3次:sar -u 2 3
  • 监控内存使用情况,并将结果保存到文件中:sar -r -o memory_report 10 5
  • 查看网络接口的统计信息:sar -n DEV 1

性能分析

要判断系统瓶颈问题,通常需要结合多个sar命令选项的输出来进行分析。例如:

  • 怀疑CPU存在瓶颈时,可使用sar -usar -q来查看CPU使用情况和平均负载。
  • 怀疑内存存在瓶颈时,可使用sar -rsar -Bsar -W来查看内存使用、内存分页和系统交换活动情况。
  • 怀疑I/O存在瓶颈时,可使用sar -bsar -usar -d来查看I/O和传送速率、CPU使用情况和磁盘I/O情况。

请注意,sar命令的参数和功能可能会随着Linux发行版和sysstat工具包的更新而有所变化。因此,建议查阅最新的官方文档或手册页(通过man sar命令)来获取最准确和最新的信息。


sar -A -o satest 1 60