您的位置:

sar指令详解

一、概述

sar是系统性能测试工具,它可以用来监控系统负载、CPU使用率、内存使用情况、磁盘I/O等指标,同时也支持实时监控、历史数据查询和图表展示等功能。sar指令是其命令行工具,常用于调试系统性能问题。

二、指令参数

sar指令支持多个参数,常用的参数有:

  • -u:查看CPU使用情况
  • -r:查看内存使用情况
  • -b:查看磁盘I/O情况
  • -n:查看网络情况
  • -p:查看进程情况
  • -q:查看负载情况
    $ sar -u

sar命令默认输出所有统计周期的平均值,可以使用"-s"参数指定开始时间,"-e"参数指定结束时间。

    $ sar -u -s 09:00:00 -e 10:00:00

三、CPU使用情况

使用"-u"参数查看CPU使用情况,sar命令默认展示的内容有:

  • %user:用户态进程使用CPU时间占比
  • %nice:NICE值为负的进程使用CPU时间占比
  • %system:内核态进程使用CPU时间占比
  • %iowait:CPU等待I/O操作的时间占比
  • %steal:Hypervisor偷走虚拟机CPU时间的占比
  • %idle:空闲时间占比

四、内存使用情况

使用"-r"参数查看内存使用情况,sar命令默认展示的内容有:

  • kbmemfree:空闲内存
  • kbmemused:当前已用内存
  • %memused:内存使用率

五、磁盘I/O情况

使用"-b"参数查看磁盘I/O情况,sar命令默认展示的内容有:

  • tps:每秒钟磁盘I/O次数
  • rtps:每秒钟磁盘读取次数
  • wtps:每秒钟磁盘写入次数
  • bread/s:每秒钟读取的块数
  • bwrtn/s:每秒钟写入的块数
  • bwrtn:写入的总块数
  • bread:读取的总块数

六、网络情况

使用"-n"参数查看网络情况,sar命令默认展示的内容有:

  • IFACE:网络接口名称
  • rxpck/s:每秒钟接收的数据包数
  • txpck/s:每秒钟发送的数据包数
  • rxbytes/s:每秒钟接收的字节数
  • txbytes/s:每秒钟发送的字节数
  • rxerrs/s:每秒钟接收错误数
  • txerr/s:每秒钟发送错误数
  • coll/s:每秒钟冲突检测数

七、进程情况

使用"-p"参数查看进程情况,sar命令默认展示的内容有:

  • PID:进程ID
  • %usr:用户态CPU时间占比
  • %system:内核态CPU时间占比
  • %guest:GuestOS使用CPU时间占比
  • %CPU:CPU使用率
  • %MEM:内存使用率
  • COMMAND:进程命令行

八、负载情况

使用"-q"参数查看负载情况,sar命令默认展示的内容有:

  • runq-sz:运行队列长度
  • plist-sz:进程列表长度
  • ldavg-1:过去1分钟负载平均值
  • ldavg-5:过去5分钟负载平均值
  • ldavg-15:过去15分钟负载平均值

九、输出数据格式

使用"-o"参数可以指定输出的数据格式,支持多种格式,如:

    $ sar -u -P ALL -I SUM -o sar_cpu.txt
    $ sar -r -B -n DEV -o sar_mem_io_net.txt
以上是对sar指令的详细介绍,该指令可以帮助我们深入了解系统的运行情况,解决性能问题,提升系统的安全和稳定性。