用系统自带命令测硬盘真实读写能力:windows用winsat disk -drive x(需管理员权限),macos用iostat -d -w 5看实时负载速率,linux/macos用dd配合fdatasync或direct参数测原始吞吐。

想快速知道你电脑硬盘的真实读写能力,又不想装一堆测速软件,直接用系统自带命令就能完成——Windows用winsat,Linux/macOS用dd或iostat,全程不依赖第三方工具,结果直连底层驱动。
Windows系统:用winsat命令测速
第一步:按 Win + X,右键选择“Windows终端(管理员)”,必须以管理员身份运行,否则winsat无法访问磁盘底层驱动接口。
第二步:输入命令 winsat disk -drive C,把 C 替换为你想测的盘符(如D、E或NVMe设备对应盘符),注意后面不加冒号。
第三步:等待90–150秒,界面会逐行输出原始数据。重点关注 “Disk Sequential 64.0 Read”(大文件连续读)和 “Disk Random 16.0 Write”(小文件随机写),这两个值最贴近日常使用体验。测试过程中会在C盘根目录生成临时文件,完成后自动清理,无需手动干预。
macOS系统:用iostat看周期性速率
iostat不施加压力,只抓取真实负载下的平均吞吐,适合边拷文件边观察。
打开“终端”,输入:iostat -d -w 5,回车执行。
等待5秒后首次输出表格,定位 r_MB/s(读)和 w_MB/s(写)两列数值,它们代表过去5秒内的平均速率,单位是MB/s。
这个命令不会创建任何测试文件,也不影响当前磁盘状态,但要注意:它反映的是“正在发生的”I/O,不是峰值性能;如果你什么都没操作,数值可能长期为0。
Linux/macOS通用:用dd命令测原始吞吐
方法一:测写入速度
执行 dd if=/dev/zero of=./testwrite bs=1M count=1024 conv=fdatasync。这里 conv=fdatasync 是关键,它强制数据真正落盘,绕过页缓存,测出的是硬盘真实写入能力。命令结束后会显示耗时和速度,单位是MB/s。
方法二:测读取速度
先确保上一步生成的 ./testwrite 文件存在,再执行 dd if=./testwrite of=/dev/null bs=1M count=1024。这一步不写盘,只读取并丢弃,所以测得的是纯读取通道能力。注意:不要用 of=/dev/zero 来测读,那会测成内存带宽。
方法三:跳过缓存测更严苛场景(仅限Linux)
把写入命令中的 conv=fdatasync 换成 oflag=direct,可绕过操作系统页缓存和硬盘自身缓存,得到接近SSD控制器直连通道的极限值。但该参数在macOS上不支持,强行使用会报错。











