若统信UOS系统响应迟缓、磁盘灯常亮或读写卡顿,表明磁盘I/O可能已达瓶颈;可通过iostat查设备负载、iotop定位高IO进程、dd测顺序吞吐、fio做多模式压力测试、lshw与smartctl验硬件健康。

如果您在统信UOS系统中观察到系统响应迟缓、磁盘指示灯持续高亮或应用读写操作明显卡顿,则可能是磁盘I/O性能已达瓶颈。以下是监控与评估磁盘IO性能的多种方法:
一、使用iostat命令实时查看磁盘IO统计
iostat是sysstat套件中的核心工具,直接读取/proc/diskstats数据,可输出每秒I/O请求数、吞吐量、平均等待时间及设备利用率等关键指标,适用于快速定位高负载磁盘。
1、打开终端(Ctrl + Alt + T)。
2、执行命令安装sysstat(若未预装):sudo apt install sysstat。
3、运行基础监控命令:iostat -d -x -k 1,其中-d表示仅显示设备,-x启用扩展统计,-k以KB为单位,1表示每秒刷新一次。
4、重点关注输出中的%util列:若某设备该值持续高于80%,表明磁盘处于高负荷状态;同时比对await与svctm,若await显著大于svctm,说明I/O队列存在积压。
二、使用iotop监控进程级IO占用
iotop基于Linux内核cgroup和/proc接口,可按线程或进程维度实时显示磁盘读写速率,帮助识别具体是哪个程序正在大量消耗IO资源。
1、在终端中执行安装命令:sudo apt install iotop。
2、以root权限运行:sudo iotop -o,-o参数仅显示当前有I/O活动的进程/线程。
3、观察“DISK READ”和“DISK WRITE”两列数值,单位为KB/s或MB/s,数值越高的进程即为IO主要消耗者。
4、按字母P键可切换按IO百分比排序,按R键可反转排序顺序。
三、使用dd命令进行简易IO吞吐量测试
dd命令通过绕过页缓存(direct I/O)方式对裸设备或文件执行顺序读写,可粗略估算磁盘原始吞吐能力,适用于无第三方工具环境下的快速验证。
1、测试写入性能:执行dd if=/dev/zero of=/tmp/testwrite bs=1M count=1024 oflag=direct,生成1GB测试文件并强制直写磁盘。
2、测试读取性能:先同步缓存(sync),再执行dd if=/tmp/testwrite of=/dev/null bs=1M iflag=direct。
3、观察命令结束时输出的bytes/sec数值,该值即为实测顺序读写带宽,低于50MB/s(HDD)或300MB/s(SATA SSD)需进一步排查硬件或驱动问题。
四、使用fio工具执行多模式IO压力测试
fio支持随机/顺序、读/写、不同块大小及并发度的组合测试,能全面反映磁盘在真实业务负载下的IOPS、延迟与吞吐表现,适合深度性能评估场景。
1、安装fio:sudo apt install fio。
2、创建测试配置文件test.fio,内容如下:
[global]
filename=/tmp/fio-test
ioengine=libaio
direct=1
runtime=60
time_based
[randread]
rw=randread
bs=4k
numjobs=4
3、执行测试:sudo fio test.fio。
4、结果中重点提取IOPS(如randread: IOPS=12456)、clat_ns.mean(平均延迟,单位纳秒)及bw(带宽,KB/s)三项数值。
五、结合lshw与smartctl验证硬件健康状态
持续高IO延迟或%util异常飙升可能并非负载所致,而是硬盘物理故障前兆。lshw提供设备型号与连接信息,smartctl则读取SMART自检数据,二者配合可排除硬件隐患。
1、查询磁盘基础信息:sudo lshw -class disk -short,确认设备名(如/dev/sda)及接口类型(SATA/NVMe)。
2、安装smartmontools:sudo apt install smartmontools。
3、获取健康报告:sudo smartctl -a /dev/sda。
4、检查关键项:SMART overall-health self-assessment test result: PASSED必须为PASSED;同时关注Reallocated_Sector_Ct、Current_Pending_Sector、UDMA_CRC_Error_Count等属性值是否非零。


















