ai-infra-interview-305

第 189 题:存储IO分析?fioiostat

题目

存储IO分析?fioiostat


完整讲解

一、存储 IO 分析的意义

训练与推理的数据加载、checkpoint、日志都依赖存储;若 IO 成为瓶颈(GPU 等数据、吞吐上不去),需测量读写的带宽、IOPS、延迟,以及各设备/分区的实际使用情况

二、fio

fio(Flexible I/O Tester):可配置的 IO 压测,支持多种 IO 引擎、顺序/随机、块大小、队列深度、多线程。常用场景:顺序读/写带宽(模拟大文件读)、随机读 IOPS(模拟小文件或随机访问)、混合负载。通过 fio 配置文件 或命令行指定 job,得到带宽、IOPS、延迟分布(如 clat)。用于评估单机或共享存储的极限能力、与训练时的 DataLoader 行为对比,判断是否 IO 瓶颈。

三、iostat

iostat(sysstat 包):实时或周期 查看各块设备的 读写吞吐(r/s, w/s)、带宽(rkB/s, wkB/s)、利用率(%util) 等。iostat -x 2 每 2 秒刷新。用于运行时观察训练/推理期间哪些盘在忙、利用率是否打满、是否有某块盘成为瓶颈。结合 df、mount 确认被测路径对应设备;iostat 看设备级,fio 做可控压测。

面试要点


记忆要点

  1. fio = 压测;顺序/随机、带宽/IOPS、可配。
  2. iostat = 实时设备级统计;iostat -x 2。
  3. fio 定上限,iostat 看运行时负载。
返回模块 返回总览