Linux sar 命令详解

简介

sar(System Activity Reporter)是 Linux 下强大的系统性能分析工具,它可以收集、报告和保存系统的活动信息,包括 CPU、内存、磁盘 I/O、网络等。sar 命令通常需要安装 sysstat 软件包。


语法

sar [选项] [时间间隔] [次数]

常用选项:

选项 说明
-n DEV 显示网络接口统计信息(DEV 表示网络设备)
-n EDEV 显示网络设备错误统计
-n SOCK 显示 socket 统计
-n TCP 显示 TCP 统计
-n UDP 显示 UDP 统计
-u 显示 CPU 使用情况
-r 显示内存使用情况
-b 显示磁盘 I/O 统计
-d 显示块设备活动
-q 显示队列长度和负载平均值
-B 显示分页统计
-W 显示交换统计
-P ALL 显示每个 CPU 的使用情况
-o 文件 将结果保存到文件(二进制格式)
-f 文件 从指定文件读取并显示历史数据

若不指定时间间隔和次数,sar 将显示自启动以来累积的统计信息(需要系统已配置数据收集)。通常配合 -n DEV 等选项查看实时统计。


常用用法示例

  1. 显示网络接口统计(实时)

    sar -n DEV 1 3
    
    image-20230628110835017

    每隔 1 秒显示一次网络接口统计,共显示 3 次。

  2. 查看 CPU 使用情况

    sar -u 2 5
    
  3. 查看内存使用情况

    sar -r 1 3
    
  4. 从历史数据文件中查看

    sar -f /var/log/sysstat/sa28   # 查看某天的历史记录(具体文件路径可能因发行版而异)
    

sar -n DEV 输出字段详解

当使用 sar -n DEV 时,会输出每个网络接口的详细统计信息。字段含义如下:

字段 说明
IFACE 网络接口名称(如 eth0、ens33、lo)
rxpck/s 每秒接收的数据包数量
txpck/s 每秒发送的数据包数量
rxkB/s 每秒接收的数据量(KB)
txkB/s 每秒发送的数据量(KB)
rxcmp/s 每秒接收的压缩数据包数量
txcmp/s 每秒发送的压缩数据包数量
rxmcst/s 每秒接收的多播数据包数量

这些指标有助于分析网络流量负载,判断是否存在网络瓶颈或异常。

posted @ 2023-06-28 11:20  克峰同学  阅读(345)  评论(0)    收藏  举报