iostat的使用说明
iostat的使用说明
1.iostat 说明
iostat
是一个 系统性能监控工具,主要用于 监控 CPU 使用情况 和 磁盘 I/O(输入/输出)性能。它是sysstat
工具包的一部分,广泛用于 Linux 系统中,特别适合用于分析磁盘性能瓶颈、排查系统慢速问题、优化服务器性能等场景。
2.iostat使用
查看 CPU 和磁盘 I/O 的总体情况
# iostatLinux 4.18.0-348.el8.x86_64 (u1azabbixap01) 07/18/2025 _x86_64_ (16 CPU)avg-cpu: %user %nice %system %iowait %steal %idle2.22 0.00 1.41 2.29 0.00 94.08Device tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sda 812.19 11.42 29196.00 264496284 675977519865
scd0 0.00 0.00 0.00 2 0
dm-0 1069.61 15.50 33777.77 358979876 782059474470
dm-1 0.20 0.31 0.48 7073248 11207048
dm-2 0.04 0.00 0.14 97942 3205004
loop0 0.00 0.31 0.00 7272881 0
sdb 281.36 4.41 4582.39 102152879 106096375027
sdc 0.00 0.00 0.00 13141 874
📊 一、整体 CPU 使用情况(avg-cpu
部分)
avg-cpu: %user %nice %system %iowait %steal %idle2.22 0.00 1.41 2.29 0.00 94.08
指标 | 含义 | 当前值 | 说明 |
---|---|---|---|
%user | 用户态 CPU 使用率 | 2.22% | 较低,表示用户程序消耗的 CPU 不多 |
%nice | Niced 用户进程 CPU 使用率 | 0.00% | 无优先级调整的进程 |
%system | 内核态 CPU 使用率 | 1.41% | 正常范围 |
%iowait | 等待 I/O 完成的 CPU 时间 | 2.29% | 较高,表示系统存在一定的 I/O 压力 |
%steal | 虚拟机等待物理 CPU 时间 | 0.00% | 无资源争抢 |
%idle | CPU 空闲时间 | 94.08% | 表示 CPU 资源整体充足 |
📝 结论:虽然 CPU 总体负载很低,但
%iowait
达到 2.29%,说明存在 磁盘 I/O 等待,可能是瓶颈所在。
📊 二、磁盘和逻辑卷 I/O 情况(Device
部分)
🔹 关键指标解释
列名 | 含义 |
---|---|
tps | 每秒 I/O 请求次数(IOPS) |
kB_read/s | 每秒读取的数据量(单位 KB) |
kB_wrtn/s | 每秒写入的数据量(单位 KB) |
kB_read | 总共读取的数据量(单位 KB) |
kB_wrtn | 总共写入的数据量(单位 KB) |
🔹 各设备详细分析
✅ sda
:主磁盘(系统盘)
sda 812.19 11.42 29196.00 264496284 675977519865
- 每秒写入: 29,196 KB/s(约 28.5 MB/s)
- 每秒 IOPS: 812 次
- 总写入数据: 675,977,519,865 KB ≈ 675TB
🚨 问题:写入量非常大,说明
/dev/sda
是系统主要的 I/O 来源,可能是/
(根目录)或日志目录/var/log
所在磁盘,存在 性能瓶颈风险。
✅ dm-0
:LVM 逻辑卷(根文件系统 /
)
dm-0 1069.61 15.50 33777.77 358979876 782059474470
- 每秒写入: 33,777 KB/s ≈ 33 MB/s
- 每秒 IOPS: 1069 次
- 总写入数据: 782,059,474,470 KB ≈ 782 TB
🚨 结论:这是
/
(根文件系统),承受了 大量写入压力,与sda
的高负载直接相关,是性能瓶颈的主要来源。
✅ dm-1
:swap 交换分区
dm-1 0.20 0.31 0.48 7073248 11207048
- 写入极少,说明系统 没有发生明显的内存交换(swap),这是好的现象。
✅ dm-2
:/home
分区
dm-2 0.04 0.00 0.14 97942 3205004
- 写入量极低,几乎没有 I/O 压力。
✅ loop0
:挂载的 ISO 或镜像文件
loop0 0.00 0.31 0.00 7272881 0
- 只有读操作,没有写入,可能是
/mnt
或/media
下挂载的镜像文件。
✅ sdb
:另一个磁盘(可能为数据盘)
sdb 281.36 4.41 4582.39 102152879 106096375027
- 每秒写入: 4,582 KB/s ≈ 4.5 MB/s
- 每秒 IOPS: 281 次
- 总写入数据: 106,096,375,027 KB ≈ 106 TB
✅ 结论:负载适中,比
sda
小很多,可以考虑将部分写入负载迁移到此磁盘。
✅ sdc
:当前未使用磁盘
sdc 0.00 0.00 0.00 13141 874
- 几乎无 I/O 活动
- 可以用于扩容 LVM、迁移
/var/log
、/tmp
等目录
📌 三、关键结论
设备 | 状态 | 建议 |
---|---|---|
sda | 高写入负载(28.5MB/s) | 存在 I/O 瓶颈,考虑迁移负载 |
dm-0 | 根文件系统 / ,写入最大 | 优化 /var/log 、/tmp 等目录 |
dm-1 | swap 使用极低 | 无内存压力 |
dm-2 | /home 几乎无负载 | 无需优化 |
sdb | 负载适中 | 可用于迁移数据 |
sdc | 无负载 | 可用于扩容 LVM 或新建挂载点 |
3. iostat -xmt 1 动态监控 使用
系统实时 I/O 性能监控的详细数据,可以帮助我们分析系统当前的 磁盘负载、I/O 延迟、吞吐量 等关键性能指标
## 动态监控# iostat -xmt 1Linux 4.18.0-348.el8.x86_64 (u1azabbixap01) 07/21/2025 _x86_64_ (16 CPU)07/21/2025 04:31:29 PM
avg-cpu: %user %nice %system %iowait %steal %idle8.15 0.00 2.76 5.08 0.00 84.02Device r/s w/s rMB/s wMB/s rrqm/s wrqm/s %rrqm %wrqm r_await w_await aqu-sz rareq-sz wareq-sz svctm %util
sda 0.00 2238.00 0.00 69.82 0.00 0.00 0.00 0.00 0.00 2.83 6.33 0.00 31.94 0.44 98.80
scd0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
dm-0 0.00 2961.00 0.00 82.07 0.00 0.00 0.00 0.00 0.00 2.71 8.01 0.00 28.38 0.34 99.40
dm-1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
dm-2 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
loop0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sdb 0.00 780.00 0.00 12.27 0.00 0.00 0.00 0.00 0.00 2.66 2.08 0.00 16.10 0.17 13.30
sdc 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
📊 一、整体 CPU 使用情况(avg-cpu
部分)
avg-cpu: %user %nice %system %iowait %steal %idle8.15 0.00 2.76 5.08 0.00 84.02
指标 | 当前值 | 说明 |
---|---|---|
%user | 8.15% | 用户态 CPU 使用率偏高(可能有大量进程运行) |
%system | 2.76% | 内核态 CPU 使用率正常 |
%iowait | 5.08% | 较高,表示存在明显 I/O 等待 |
%idle | 84.02% | CPU 空闲资源充足,但 I/O 成为瓶颈 |
🚨 结论:CPU 并不繁忙,但
%iowait
高,说明系统性能瓶颈在 磁盘 I/O。
📊 二、磁盘 I/O 性能分析(-xmt
扩展模式)
🔍 关键指标解释
列名 | 含义 |
---|---|
r/s | 每秒读请求数 |
w/s | 每秒写请求数 |
rMB/s , wMB/s | 每秒读/写数据量(MB) |
w_await | 写请求平均等待时间(ms) |
aqu-sz | 请求队列平均长度 |
%util | 磁盘利用率(>60% 表示瓶颈) |
🔍 三、设备分析(按设备排序)
🔴 sda
(主磁盘)
sda 0.00 2238.00 0.00 69.82 0.00 0.00 0.00 0.00 0.00 2.83 6.33 0.00 31.94 0.44 98.80
- 写入 IOPS: 2238
- 写入吞吐量: 69.82 MB/s
- %util: 98.8%
- 写请求等待时间: 2.83 ms
🚨 结论:
sda
几乎满负荷运行,是当前系统 最大的 I/O 瓶颈。
🔴 dm-0
(LVM 根文件系统 /
)
dm-0 0.00 2961.00 0.00 82.07 0.00 0.00 0.00 0.00 0.00 2.71 8.01 0.00 28.38 0.34 99.40
- 写入 IOPS: 2961
- 写入吞吐量: 82.07 MB/s
- %util: 99.4%
- 写请求等待时间: 2.71 ms
🚨 结论:
dm-0
是/
文件系统,承受了 极大写入压力,与sda
的高负载直接相关,是 性能瓶颈的主要来源。
🟡 sdb
(数据盘)
sdb 0.00 780.00 0.00 12.27 0.00 0.00 0.00 0.00 0.00 2.66 2.08 0.00 16.10 0.17 13.30
- 写入 IOPS: 780
- 写入吞吐量: 12.27 MB/s
- %util: 13.3%
- 写请求等待时间: 2.66 ms
✅ 结论:负载适中,I/O 响应良好,可以用于迁移负载。
✅ sdc
(空闲磁盘)
sdc 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
- 无任何 I/O 活动
- 可以用于扩容 LVM、迁移
/var/log
、/tmp
等目录
📌 四、关键结论总结
设备 | 状态 | 建议 |
---|---|---|
sda | 主磁盘,写入频繁 | I/O 瓶颈,建议迁移部分负载 |
dm-0 | 根文件系统 / ,写入最大 | 性能瓶颈,优化 /var/log 、/tmp 等目录 |
sdb | 负载适中 | 可用于迁移数据 |
sdc | 无负载 | 可用于扩容 LVM 或新建挂载点 |
4. iostat -xmt 1 5
参数 | 含义 |
---|---|
iostat | 命令本身,用于监控 CPU 和磁盘 I/O |
-x | 显示 扩展统计信息(更详细的 I/O 指标) |
-m | 显示数据单位为 MB/s(默认是 KB/s) |
-t | 显示 时间戳(方便查看监控的时间点) |
1 | 每隔 1 秒 刷新一次数据 |
5 | 总共刷新 5 次 后自动退出命令 |
✅ 推荐使用场景
使用目的 | 推荐命令 |
---|---|
实时监控 I/O 性能 | iostat -xmt 1 |
监控 5 次后退出 | iostat -xmt 1 5 |
仅查看 CPU 使用情况 | iostat -c 1 |
查看所有设备 I/O | iostat -d -xmt 1 |