必须调用内核级IO统计与进程级IO追踪工具协同分析:一、用iostat -xdm 1查设备级IO负载,重点关注%util是否持续>80%;二、用iotop -o -d 1定位高IO进程;三、用pidstat -d 1分析进程读写分布;四、用sar -d回溯历史await与svctm判断瓶颈类型。

你需要在银河麒麟V10系统中实时掌握磁盘读写负载、响应延迟与设备级吞吐能力,必须调用内核级IO统计机制与进程级IO追踪工具协同分析,不能仅依赖图形界面或单一命令。
用iostat查看设备级IO负载
打开终端,执行sudo yum list installed | grep sysstat检查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%说明磁盘高负荷;若%util接近100%但r/s和w/s几乎为0,极可能是硬件故障或总线异常,需立即检查/var/log/messages。
用iotop定位高IO消耗进程
先执行sudo yum install -y iotop安装(Kylin标准镜像通常未预装)。
运行sudo iotop -o -d 1:-o参数过滤掉静默进程,只显示当前有真实IO动作的程序;-d 1设定刷新间隔为1秒。
界面默认按IO带宽降序排列,直接观察IO>列数值;若某进程持续超过30MB/s写入,大概率是日志轮转、数据库dump或备份任务在后台猛刷磁盘。
按P键切换显示粒度(进程/线程),按R反转排序,按←→箭头切换排序字段(如切换到SWAPIN或IO>)。
用pidstat分析进程IO分布
第一步:执行pidstat -d 1,该命令每秒输出一次各进程的KB_rd/s(每秒读取千字节)与KB_wr/s(每秒写入千字节)。
第二步:观察输出中KB_wr/s列,若某PID连续两次采样均超过20000(即20MB/s),立即记录其COMMAND字段名称。
第三步:若发现COMMAND列为jbd2/sda1-8类条目且KB_wr/s偏高,说明ext4日志提交频繁,此时应检查/dev/sda1挂载点下是否存在大量小文件同步写操作,而非直接终止该线程。
用sar回溯历史IO峰值
方法一:确认系统是否已启用sa日志采集。执行ls /var/log/sa/,若目录存在且包含saXX文件(如sa15、sa16),说明sar日志正常记录。
方法二:查看昨日磁盘IO峰值。执行sar -d -f /var/log/sa/sa$(date -d yesterday +%d),该命令自动拼接昨日日期,提取对应sa日志中的磁盘统计。
重点分析输出中的await(平均IO响应时间)和svctm(平均服务时间)。若await远大于svctm,说明请求在队列中等待过久,不是磁盘慢,而是并发请求太多或调度器不匹配。

















