CentOS 7 下 top 命令显示 si 等待过高如何定位磁盘 IO 问题?
2026/5/12 4:51:48 网站建设 项目流程

先说结论:"si 等待"是常见误区,si 代表软中断,wa 才是磁盘 IO 等待指标。排查磁盘 IO 问题请以 wa 为准,高 si 通常与网络或驱动中断有关。

  • 先定位:确认 top 中是 wa 高还是 si 高,区分 IO 等待与中断处理。
  • 先做:使用 yum 安装 sysstat 和 iotop,再用 iostat 查看设备利用率,配合 iotop 找出高 IO 进程。
  • 再验证:优化后观察 iostat 的 await 和 util 指标是否回落。

前置准备:安装必要工具

CentOS 7 最小化安装默认不包含 IO 监控工具,直接运行命令可能报错"command not found"。请先执行以下命令安装依赖:

# 安装 sysstat 包(包含 iostat、pidstat 等命令) yum install -y sysstat # 安装 iotop(用于查看进程级 IO) yum install -y iotop

若安装失败,请检查 yum 源配置或网络连接。

核心概念:si 与 wa 的区别

在 Linux 的 top 命令显示中,CPU 使用率分为多个维度,混淆两者会导致排查方向错误:

  • wa (iowait):表示 CPU 等待 IO 操作完成的时间比例。这是判断磁盘瓶颈最直接的指标。wa 高说明进程读写磁盘速度慢,CPU 在空等。
  • si (softirq):表示 CPU 处理软中断的时间。通常与网络包收发有关,但在某些使用硬件 RAID 卡或特定存储驱动的场景下,高频的存储中断也可能导致 si 升高。

如果 wa 持续过高必然影响响应速度;如果 si 高但 wa 不高,通常不是磁盘容量瓶颈,而是中断处理压力大。

实操步骤:定位 IO 瓶颈

1. 确认指标含义
登录服务器运行 top,按数字键 1 展开所有 CPU 核心。观察 id(空闲)、wa(IO 等待)、si(软中断)。如果 wa 持续较高(例如长期非零且伴随系统卡顿),则确认为 IO 问题。

2. 定位瓶颈设备
运行以下命令查看磁盘设备利用率:

iostat -x 1 3

关注最后一列 util,如果接近 100%,说明该磁盘已饱和。同时观察 await 列,数值越大说明 IO 响应越慢。如果有多块磁盘,对比哪一块的 util 最高。

3. 定位占用进程
运行以下命令查看具体进程的 IO 占用:

iotop -o -P -d 1

-o 参数只显示实际进行 IO 操作的进程,-P 只显示进程不显示线程。观察 DISK READ 和 DISK WRITE 列,找出占用最高的进程 PID。
注意:iotop 需要 root 权限才能看到所有进程的 IO,普通用户运行可能显示为空。

4. 分析进程行为
拿到 PID 后,使用 ps -ef | grep PID 确认进程身份。如果是数据库,检查慢查询日志;如果是日志服务,检查是否正在轮转或写入大量日志;如果是备份任务,考虑调整执行时间。

5. 查看进程级 IO 统计(可选)
若需更详细的进程 IO 统计,可使用 pidstat:

# 注意:pidstat 属于 sysstat 包,若命令不存在请先执行 yum install sysstat -y pidstat -d 1 -p <PID>

验证与故障排查

验证方法:
处理完成后,再次运行 iostat -x 1。观察之前高 util 的设备,util 值应明显下降,await 值应回归到正常范围(通常机械盘在 10ms 以内,SSD 更低,具体取决于硬件规格)。同时 top 命令中的 wa 值应回落,系统负载 load average 应随之降低。

命令不可用时的解决方案:

  • iostat 不存在:执行 yum install -y sysstat。
  • iotop 不存在:执行 yum install -y iotop。
  • pidstat 不存在:执行 yum install -y sysstat。
  • 权限不足:确保使用 root 用户或 sudo 执行监控命令。

常见坑

1.混淆 si 和 wa:很多教程或经验贴会混用这两个概念,务必以 wa 作为磁盘 IO 等待的依据。
2.缓存干扰:Linux 会利用空闲内存做缓存,有时读取高不代表磁盘压力大,需结合 iostat 的写操作判断。
3.虚拟化环境:在虚拟机中,宿主机的 IO 争抢也会导致 wa 高,此时 guest 相关指标可能异常,需联系云服务商排查。

来源 https://www.zjcp.cc/ask/10843.html

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询