IO流量分析主要分析系统中IO流量的归属,通常用于解决IO Burst问题。本文将介绍在操作系统控制台上诊断IO流量的使用说明。
使用限制
地域限制
本功能目前仅支持中国内地与中国香港。
操作系统限制
架构
操作系统
x86架构
Rocky Linux 9.5
Rocky Linux 9.1
Ubuntu 20.04
Alibaba Cloud Linux 3 容器优化版
Rocky Linux 8.8
Ubuntu 22.04
Alibaba Cloud Linux 3 Pro
Alibaba Cloud Linux 2/3
CentOS 7.6及更高版本,或CentOS 8
Anolis OS 7/8
Ubuntu 24.04
ARM架构
Alibaba Cloud Linux 3 Pro
Alibaba Cloud Linux 3
前提条件
如果您使用RAM用户,请确保阿里云账号(主账号)已将系统策略
AliyunECSReadOnlyAccess和AliyunSysomFullAccess授予RAM用户。已开通控制台权限。
首次登录操作系统控制台时,单击开通服务以开通控制台服务。
操作步骤
访问操作系统控制台。
在左侧导航栏,单击系统诊断。
在页面左侧顶部,选择目标实例所在的地域。

在诊断类型列表中,选择存储诊断;在诊断项中,选择IO流量分析;配置相关参数后,单击执行诊断。
说明若未安装SysOM,单击执行诊断后,系统将自动为目标ECS实例安装SysOM,并随之发起诊断。
相关参数如下:
参数名
参数说明
是否必填
实例ID
目标ECS实例ID。
是
诊断时长
持续诊断时长,默认为15秒。
是
目标磁盘
需要检测的磁盘名称(例如sda等)。
否(不指定则诊断所有磁盘)
在诊断记录区域,单击查看报告。

诊断报告
诊断报告记录单次诊断的所有信息。
基础信息
基础信息部分包含单次诊断的基本信息,包括诊断实例ID(资源ID)、诊断项、诊断报告ID及诊断发起时间。
诊断结论
若检测出IO流量正常,则展示当前IO性能指标。
若检测出IO流量异常,则展示IO流量异常的原因。
诊断建议
根据诊断情况提供相应的处理建议。
诊断详情
诊断详情包含四大部分:原因分析、磁盘级IO流量列表、进程级IO流量列表和进程IO块大小分布。
原因分析
原因分析部分主要展示了进程访问磁盘所产生的IO流量,其一般形式为:某进程访问某磁盘时的IOPS及IO吞吐量,并指明所访问的目标文件。
磁盘级IO流量列表
该部分展示了诊断期间统计到的磁盘IO流量,并对主要字段的含义进行了说明。

磁盘/分区名称:检测磁盘/分区的名称读IO合并个数:诊断期间合并读操作的次数写IO合并个数:诊断期间合并写操作的次数读IO吞吐:诊断期间读IO吞吐写IO吞吐:诊断期间写IO吞吐平均IO时延:每个I/O平均所需的时间平均读IO时延:每个读操作平均所需的时间平均写IO时延:每个写操作平均所需的时间IO繁忙度(百分比):该硬盘设备的繁忙比率
进程级IO流量列表
该部分展示了诊断期间进程级别的IO流量,并对主要字段的含义进行了说明。
进程名:进程的名称父进程ID:进程ID:进程ID信息读IO个数:进程贡献的读iops写IO个数:进程贡献的写iops读IO吞吐:进程贡献的读bps写IO吞吐:进程贡献的写bps刷新磁盘缓存次数:表示此进程产生的flush IO个数磁盘/分区名称:消费IO的目标磁盘文件名:产生IO的来源文件
该功能支持
kworker对刷脏的IO进行溯源,因此可以看到在kworker进程下存在子项,展开可以看到实际产生脏页(写入Buffer IO)的进程。
进程IO块大小分布
该部分展示了诊断期间进程级别IO提交到OS块层的块大小分布,并对主要字段的含义进行了说明。

进程名:进程的名称父进程ID:进程ID:进程ID信息nK写io占比:IO大小为nK的IO个数占比超512K写IO占比:大于512 KB的大块IO的占比