首选iostat -xdm 1监控磁盘实时负载,重点关注%util是否超80%;用sudo iotop -o -d 1定位高IO进程;通过sar -d -f /var/log/sa/sa$(date -d yesterday +%d)回溯昨日历史峰值,分析await与svctm差值判断瓶颈位置。

你需要在银河麒麟操作系统中快速掌握当前磁盘IO负载水平、识别高消耗进程、回溯历史峰值,必须通过终端命令获取分层、可验证的IO状态数据。
用iostat查看磁盘设备级IO实时负载
打开终端,先确认sysstat是否已安装:运行which iostat,若无输出则执行sudo yum install -y sysstat。
【必须运行sudo systemctl enable sysstat && sudo systemctl start sysstat,否则iostat -x 1可能缺失历史趋势字段或部分统计项】。
输入iostat -xdm 1开始监控:-x启用扩展指标,-d仅显示磁盘设备,-m以MB/s为单位,1表示每秒刷新一次。
重点关注%util列——持续高于80%说明磁盘过载;若%util接近100%但r/s和w/s几乎为0,极可能是硬件故障或总线异常,立即检查/var/log/messages。
用iotop定位正在读写硬盘的具体进程
这一步直接调用内核IO事件接口,只显示此刻真实发生磁盘读写的程序,比top或ps更聚焦于IO行为本身。
执行sudo iotop -o -d 1:-o参数强制隐藏所有IO速率为0的进程,-d 1设定每秒刷新一次。
界面默认按IO带宽降序排列,重点关注“IO>”列数值——只要该列不为0,就代表该进程正在读或写硬盘。
若某进程IO>持续高于5MB/s,基本可判定为当前IO主力;按P键可切换进程/线程视图,避免把jbd2等内核线程误认为用户进程。
用sar回溯昨日磁盘IO历史峰值
第一步:确认系统是否已启用sa日志采集。执行ls /var/log/sa/,若目录存在且含saXX文件(如sa04),说明日志正常记录。
第二步:提取昨日IO峰值数据。执行sar -d -f /var/log/sa/sa$(date -d yesterday +%d),该命令自动拼接昨日日期。
第三步:重点分析await(平均IO响应时间)与svctm(平均服务时间)。若await远大于svctm,说明请求在队列中等待过久,瓶颈不在磁盘本身,而在并发调度或队列深度。

















