首页 > 操作系统 >Linux sar命令详解之分析系统性能案例

Linux sar命令详解之分析系统性能案例

来源:互联网 2026-04-02 12:44:31

掌握系统性能分析利器:sar命令全方位解读 在系统性能分析领域,sar命令堪称一把瑞士军刀。通过这个强大的工具,我们可以全面获取系统的CPU利用率、运行队列状态、磁盘I/O性能、内存使用情况、交换分区活动、中断统计以及网络流量等关键性能指标,为系统优化和故障排查提供有力依据。 sar命令的基本语法结

掌握系统性能分析利器:sar命令全方位解读

在系统性能分析领域,sar命令堪称一把瑞士军刀。通过这个强大的工具,我们可以全面获取系统的CPU利用率、运行队列状态、磁盘I/O性能、内存使用情况、交换分区活动、中断统计以及网络流量等关键性能指标,为系统优化和故障排查提供有力依据。

sar命令的基本语法结构

sar命令的标准使用格式如下:

[root@localhost ~]# sar [options] [-o filename] interval [count]

这个命令结构中,各个参数的作用非常明确:

-o filename:指定输出文件,将采集结果以二进制格式保存,便于后续分析;
interval:采样间隔时间,这是必须设置的参数,决定了数据采集的频率;
count:采样次数,可选参数,默认只采集一次数据;
options:命令选项,sar提供了丰富的选项来监控不同的系统资源。

考虑到sar命令的选项众多,这里我们重点梳理最常用的监控选项及其对应功能:

常用监控选项速查表

表1 sar命令核心选项及功能说明

选项参数 监控目标
-A 全面监控所有系统资源(CPU、内存、磁盘)
-u 显示所有CPU在采样周期内的负载状况
-P 监控指定CPU核心的使用情况
-d 跟踪所有硬盘设备在采样期间的使用状态
-r 显示内存使用统计
-b 监控缓冲区使用情况
-v 显示inode节点、文件和其他内核表统计
-n 网络状态监控,可配合DEV(网络接口)、EDEV(网络错误)、SOCK(套接字)等参数
-q 显示运行队列中的进程数、进程大小和系统平均负载
-R 监控采样期间的进程活动
-y 跟踪终端设备活动
-w 显示系统交换活动状态

想要探索更多sar命令选项?执行man sar命令即可查看完整的使用手册。

实战演练:CPU性能监控分析

要了解系统CPU的整体负载情况,我们可以这样操作:每3秒采集一次数据,连续采集5次

[root@localhost ~]# sar -u 3 5
Linux 2.6.32-431.el6.x86_64 (localhost)     10/25/2019     _x86_64_    (1 CPU)

06:18:23 AM     CPU     %user     %nice   %system   %iowait    %steal     %idle
06:18:26 AM     all     12.11      0.00      2.77      3.11      0.00     82.01
06:18:29 AM     all      6.55      0.00      2.07      0.00      0.00     91.38
06:18:32 AM     all      6.60      0.00      2.08      0.00      0.00     91.32
06:18:35 AM     all     10.21      0.00      1.76      0.00      0.00     88.03
06:18:38 AM     all      8.71      0.00      1.74      0.00      0.00     89.55
Average:        all      8.83      0.00      2.09      0.63      0.00     88.46

这些输出指标分别告诉我们:

%user:用户空间进程消耗的CPU时间占比;
%nice:通过调整优先级运行的进程在用户空间消耗的CPU时间;
%system:内核空间消耗的CPU时间比例;
%iowait:CPU等待磁盘I/O操作的空闲时间;
%steal:虚拟化环境中被其他虚拟CPU占用的时间;
%idle:CPU完全空闲的时间比例。

磁盘I/O性能深度剖析

评估系统磁盘的读写性能时,这个命令特别有用:

[root@localhost ~]# sar -d 3 5
Linux 2.6.32-431.el6.x86_64 (localhost)     10/25/2019     _x86_64_    (1 CPU)

06:36:52 AM       DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
06:36:55 AM    dev8-0      3.38      0.00    502.26    148.44      0.08     24.11      4.56      1.54
06:36:55 AM       DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
06:36:58 AM    dev8-0      1.49      0.00     29.85     20.00      0.00      1.75      0.75      0.11
06:36:58 AM       DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
06:37:01 AM    dev8-0     68.26      6.96  53982.61    790.93      3.22     47.23      3.54     24.17
06:37:01 AM       DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
06:37:04 AM    dev8-0    111.69   3961.29    154.84     36.85      1.05      9.42      3.44     38.43
06:37:04 AM       DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
06:37:07 AM    dev8-0      1.67    136.00      2.67     83.20      0.01      6.20      6.00      1.00
Average:          DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
Average:       dev8-0     34.45    781.10   9601.22    301.36      0.78     22.74      3.50     12.07

理解这些关键指标对诊断磁盘性能问题至关重要:

tps:每秒物理磁盘I/O请求次数;
rd_sec/s:每秒读取的扇区数量;
wr_sec/s:每秒写入的扇区数量;
avgrq-sz:平均每次I/O操作的数据大小;
avgqu-sz:磁盘请求队列的平均长度;
await:I/O请求的平均响应时间;
svctm:磁盘处理请求的平均服务时间;
%util:磁盘利用率,这个值越高说明磁盘越繁忙。

扩展应用场景

实际上,sar命令的应用远不止于此。要监控系统内存使用状况,试试sar -r 5 3命令;想要了解网络运行状态,sar -n DEV 5 3命令会给你详细的接口统计。其他参数的用法也值得探索,动手试试看,你会对这个强大的工具有更深刻的理解。

掌握了sar命令,就等于拥有了洞察系统性能的"火眼金睛"。无论是日常系统监控,还是性能瓶颈排查,这个工具都能提供准确的数据支持。希望本文能帮助你更好地理解和使用这个强大的性能分析利器!

侠游戏发布此文仅为了传递信息,不代表侠游戏网站认同其观点或证实其描述

热游推荐

更多
湘ICP备14008430号-1 湘公网安备 43070302000280号
All Rights Reserved
本站为非盈利网站,不接受任何广告。本站所有软件,都由网友
上传,如有侵犯你的版权,请发邮件给xiayx666@163.com
抵制不良色情、反动、暴力游戏。注意自我保护,谨防受骗上当。
适度游戏益脑,沉迷游戏伤身。合理安排时间,享受健康生活。