售前咨询400-838-0503

Linux系统如何查看磁盘IO性能?

发布:2025-06-01 04:36

Linux系统磁盘IO性能监测完全指南

在Linux服务器运维和性能调优中,磁盘IO性能监控是系统管理员必须掌握的核心技能。本文将详细介绍8种实用的Linux磁盘IO监控工具和方法,帮助您全面掌握服务器存储性能状况。

一、为什么需要监控磁盘IO

磁盘IO性能直接影响着系统的整体响应速度和服务质量。当出现以下情况时,磁盘IO监控尤为重要:

  • 应用响应变慢,但CPU和内存利用率正常
  • 数据库查询性能下降
  • 服务器负载突然升高
  • 计划进行存储设备升级或迁移

二、基础命令工具

1. iostat命令

iostat -x 1 是最常用的实时磁盘监控命令:

# iostat -x 1
Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
sda      0.00   0.50  0.1 0.2   8.0   10.4    72.00     0.01   15.2    8.1   18.3   5.2   0.15

关键指标解读:

  • %util:设备利用率,超过80%表示磁盘繁忙
  • await:IO平均等待时间(ms)
  • r/s+w/s:每秒读写请求数

2. vmstat命令

vmstat 1 提供系统级的IO概况:

# vmstat 1
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 1  0      0 3012344 102340 2045800    0    0     5    12  101  156 10  5 84  1  0

关注bi(块设备每秒接收的块数)和bo(块设备每秒发送的块数)

三、专业监控工具

1. iotop

类似于top命令的IO监控工具,可以查看进程级的磁盘使用情况:

# iotop -o
Total DISK READ: 12.34 MiB/s | Total DISK WRITE: 45.67 MiB/s
  PID  PRIO  USER     DISK READ  DISK WRITE  SWAPIN     IO>    COMMAND
 456   be/4 mysql     10.23 MiB   32.10 MiB  0.00 %  85.21 % mysqld
 789   be/4 www-data   2.11 MiB   13.57 MiB  0.00 %  12.45 % apache2

2. dstat

多功能系统资源统计工具,提供彩色显示和多种输出格式:

# dstat -d --disk-util
-dsk/total-
 read  writ
  25k   78k
   1%    3%

四、长期监控方案

1. sar工具

系统活动报告工具,可以收集历史IO数据:

# sar -d -p 1 3
Linux 5.4.0-91-generic (hostname)  12/12/2023  _x86_64_ (8 CPU)

12:00:01 AM   DEV   tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz  await  svctm  %util
12:00:02 AM   sda   5.23    120.34    456.23    110.25      0.45   15.23   5.12   2.68

2. Prometheus + Grafana

企业级监控方案,通过node_exporter收集磁盘指标,在Grafana中可视化展示。

五、IO性能优化建议

  1. 对于频繁读操作,考虑增加文件系统缓存
  2. 写密集型应用建议使用SSD或NVMe存储
  3. 调整I/O调度器(cfq, deadline, noop)
  4. 数据库应用考虑使用direct I/O绕过缓存
  5. 分布式存储系统要注意网络带宽瓶颈

通过本文介绍的各种工具组合使用,您可以全面掌握Linux系统的磁盘IO性能状况。建议日常监控使用iostat+iotop组合,长期趋势分析使用sar,企业环境采用Prometheus监控方案。

按文档操作后还是不行,把机器编号、出问题的时间点和现象截图一起提工单,能少来回一轮。

提交工单