需综合使用iostat、iotop和pidstat协同分析:iostat -xdm 1监控设备级IO负载与延迟,%util>80%或r_await/w_await>10ms表明磁盘瓶颈;iotop -o -d 1定位高IO进程;pidstat -d 1识别进程级读写分布及异常峰值。

你需要在麒麟操作系统中实时掌握磁盘读写负载、响应延迟及设备级吞吐能力,必须调用内核级IO统计机制与进程级IO追踪工具协同分析,单一命令无法反映完整IO状态。
用iostat查看设备级IO实时负载
这一步直接读取/proc/diskstats,开销极低,是判断磁盘是否存在瓶颈的核心依据。
先确认sysstat是否已安装:运行yum list installed | grep sysstat,若无输出则执行sudo yum install -y sysstat。
【sudo systemctl enable sysstat && sudo systemctl start sysstat】——这一步不执行,iostat -x 1可能无法显示历史趋势或部分统计项。
输入iostat -xdm 1开始监控,-x启用扩展指标,-d仅显示磁盘设备,-m以MB为单位,1表示每秒刷新一次。
重点关注%util列:持续高于80%说明磁盘过载;同时观察r_await和w_await,若任一值超过10ms且伴随高%util,表明IO响应已出现明显延迟。
用iotop定位高IO消耗进程
当iostat确认存在IO压力后,需立刻找出“刷盘大户”。iotop能精确识别占用磁盘带宽最大的用户态程序或内核线程。
执行sudo yum install -y iotop安装(Kylin标准镜像通常未预装)。
运行sudo iotop -o -d 1,-o参数过滤掉静默进程,只显示当前有真实IO动作的程序,避免被大量空闲进程干扰视线。
界面默认按IO带宽降序排列,直接观察IO>列数值;若某进程持续超过30MB/s写入,大概率是日志轮转、数据库dump或备份任务在后台猛刷磁盘。
按P键切换显示粒度(进程/线程),按R反转排序,按←→箭头切换排序字段(如切换到SWAPIN或IO>)。
用pidstat分析进程IO分布
适用于多进程混合IO场景下的精细化归因,能分离出每个进程的读写字节数、IO等待时间及上下文切换频次。
第一步:执行pidstat -d 1,该命令每秒输出一次各进程IO吞吐量(KB_rd/s与KB_wr/s)。
第二步:识别异常峰值——若发现某个PID连续3次采样均维持>50MB/s写入速率,即为可疑目标。
第三步:当pidstat显示jbd2类内核线程IO偏高时,说明ext4日志提交频繁,需检查对应挂载点是否存在大量小文件同步写操作。

















