在 Linux 服务器的日常运维与性能调优中,快速定位 CPU、内存、磁盘 I/O 以及网络瓶颈是每位工程师的必备技能。本文将基于 CentOS 系统,介绍几款最常用且高效的系统监控命令。
1. 环境准备:安装 sysstat 工具包
sar 是 Linux 下极其强大的系统性能分析工具,但它通常不包含在 CentOS 的最小化安装中。如果执行 sar 提示命令未找到,请先使用 yum 进行安装:
[root@iZ28gd6x9vfZ ~]# yum install -y sysstat
2. CPU 使用率监控
使用 sar 命令可以动态查看 CPU 的各项指标(如用户态、内核态、I/O 等待等)。
[root@iZ23oznw888Z ~]# sar 2 5 -
- 参数说明:
2 表示每 2 秒采集一次数据, 5 表示总共采集 5 次。末尾的 - 表示将结果实时输出到标准输出(终端),而不是读取历史日志。
3. 磁盘与 I/O 性能分析
当系统出现卡顿,怀疑是磁盘读写瓶颈时,可以使用以下命令:
查看磁盘块设备状况:
[root@iZ23oznw888Z ~]# sar -d 2 5
- 参数说明:
-d 用于报告块设备(Block Devices)的使用情况。
查看磁盘 I/O 传输统计:
[root@xiangys ~]# sar -b 2 5
- 参数说明:
-b 用于报告 I/O 和传输速率相关的统计数据(如每秒读写请求数、每秒读写扇区数等)。
进阶磁盘监控(推荐): 除了 sar, iostat 也是排查磁盘问题的利器:
[root@test ~]# iostat -d -x -k 1 5
- 参数说明:
-d 仅显示设备统计, -x 显示扩展统计信息(如 %util 和 await,这两个指标对判断磁盘瓶颈至关重要), -k 表示以 KB 为单位显示, 15 表示每秒刷新一次,共 5 次。
4. 网络流量监控
排查网络带宽是否跑满或定位异常流量时:
[root@iZ23oznw888Z ~]# sar -n DEV 2 5
- 参数说明:
-n DEV 表示监控网络设备(Network Devices)的收发流量( rxpck/s, txpck/s, rxkB/s, txkB/s 等)。
5. 进程级资源排查: top 命令技巧
当定位到系统整体负载较高后,通常需要找出“罪魁祸首”进程。使用 top 命令配合快捷键可以高效排序:
[root@iZ23oznw888Z ~]# top
进入 top 交互界面后:
- 按 CPU 占用率排序:按下
Shift+P(大写 P),进程将按 CPU 使用率从高到低排列。 - 按内存占用率排序:按下
Shift+M(大写 M),进程将按内存使用率从高到低排列。
运维小贴士:
sar 命令不仅能实时查看,还能通过 sar-f/var/log/sa/saXX 查看历史某天的系统性能记录,非常适合复盘故障。- 在使用
top 时,也可以直接输入 M 或 P(部分系统版本支持小写)来实现同样的排序效果。 你觉得这篇博文的[排版风格/技术深度]符合你的预期吗?需要我帮你做进一步调整吗? 比如:
- 补充输出示例:在命令下方加上
sar 或 top 的真实输出截图/文本示例,让读者更直观? - 增加故障排查场景:补充一个“CPU 飙高排查实战”或“磁盘 I/O 瓶颈分析”的完整案例?
- 调整语气风格:需要改得更幽默接地气一点,还是更偏向严谨的官方文档风格? 随时告诉我你的想法哦!