性能·磁盘 / 命令文档
Linux iowait 诊断
概述
系统性排查I/O等待问题的专业工具
1快速状态检查
系统整体状态
top -b -n1 | head -20
查看CPU、内存使用情况和iowait百分比
vmstat 1 5
观察wa(iowait)列的变化趋势
iostat -x 1 5
实时I/O统计,关注%util和await
2进程级别分析
I/O密集进程识别
iotop -o -d 1
实时显示I/O活跃进程排序
pidstat -d 1 5
按进程显示磁盘I/O统计
ps aux --sort=-%cpu | head -20
找出CPU使用率最高的进程
3磁盘性能分析
磁盘设备状态
lsblk -f
查看磁盘分区和文件系统
df -h
检查磁盘空间使用情况
hdparm -tT /dev/sda
测试磁盘读取性能
smartctl -a /dev/sda
检查硬盘健康状态
4文件系统诊断
文件系统分析
lsof | grep -E "(REG|DIR)" | wc -l
统计打开的文件数量
fuser -v /path/to/directory
查看访问特定目录的进程
find /var/log -name "*.log" -size +100M
查找大型日志文件
5网络I/O检查
网络相关I/O
netstat -i
查看网络接口统计
ss -tuln
检查监听端口和连接状态
iftop -i eth0
实时网络带宽使用情况
6系统调用追踪
深度分析
strace -p PID
统计进程系统调用(替换PID)
perf top -g
实时性能分析和调用图
sysctl -a | grep vm
查看虚拟内存参数配置
iowait 问题排查流程
第一步:确认iowait确实很高 (>20%)
第二步:识别I/O密集进程和设备
第三步:分析具体I/O模式(随机/顺序读写)
第四步:检查硬件状态和文件系统
第五步:优化或解决根本原因
常用诊断工具
iotop
实时I/O监控
iostat
I/O统计报告
vmstat
虚拟内存统计
atop
高级系统监控
nmon
性能监控工具
perf
性能分析器