发布于2026-07-08 阅读(0)
扫一扫,手机访问
当你发现系统磁盘响应变慢、程序读写卡顿,或者想确认SSD是否真的跑满了IOPS时,最直接的办法就是在终端里拿到每秒输入输出操作数(IOPS)的实时数值——而不是只看吞吐量或队列长度。下面直接上实操。
第一步,打开终端(Ctrl + Alt + T)。
第二步,如果系统没装基础工具,执行:sudo apt install sysstat。
第三步,运行命令:iostat -d -x 1。这个命令每秒刷新一次,-x参数会启用扩展统计,直接给出 r/s(每秒读操作数)和 w/s(每秒写操作数),两者相加就是当前设备的总IOPS。
【注意:务必带上 -x 参数,否则默认输出里看不到 r/s 和 w/s 这两列】
第四步,观察输出。比如某NVMe盘显示 r/s=1240.5、w/s=893.2,那么当前IOPS大约就是2134。如果这个数值持续超过设备标称的随机IOPS(比如消费级SSD标称50K IOPS),那就说明已经逼近上限了。
光知道设备总IOPS还不够,得锁定到底是哪个进程在疯狂发起小包随机IO。
方法一:实时进程级监控
执行 sudo apt install iotop 安装,然后运行 sudo iotop -o -b -n 1。-o只显示活跃IO进程,-b是批处理模式,-n 1表示只采集一次。输出中“I/O”列百分比高、且“READ/WRITE”速率波动剧烈的小文件操作进程,往往就是IOPS大户。
方法二:结合pidstat做精准采样
执行 sudo pidstat -d 1,它会按进程列出每秒读写字节数(kB_rd/s、kB_wr/s)和实际I/O次数(#r/s、#w/s)。【关键点:#r/s 和 #w/s 才是进程真实发起的IOPS,不是吞吐量换算值】
如果你想知道磁盘标称的随机IOPS到底能不能达到,光在空闲状态下看数值可不行,得主动施加压力。
第一步,安装fio(统信UOS官方源已内置):sudo apt install fio。
第二步,对 /dev/sda 执行4K随机读IOPS测试:fio -name=randread -ioengine=libaio -direct=1 -bs=4k -rw=randread -size=2G -runtime=30 -time_based -group_reporting -numjobs=4 -iodepth=128。
第三步,查看输出末尾的“iops=”字段。例如显示 iops=98765,就表示该配置下实测随机读IOPS为9.8万。
需要留意的是:测试前确保目标设备没有重要数据;-direct=1 会绕过页缓存;-iodepth=128 模拟高并发队列深度——这些参数会直接影响IOPS结果。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
4
5
6
7
8
9