要在 Debian 12 中使用 dd 指令检测挂载在 /mnt(对应设备 /dev/vdb1)的 4k、1M、1G 文件 IO 性能,可按以下步骤操作(注意:操作会产生临时文件,测试完成后需手动删除):
- 确保
/mnt 有足够空间(至少 1G 以上,用于生成 1G 测试文件)。
dd 测试会占用磁盘 IO,建议在非生产环境执行。
- 测试文件会存放在
/mnt 下,测试完成后需删除(命令最后会提示)。
分别测试 写入 和 读取 性能,命令如下:
# 4K 写入测试(count=256000 表示总大小约 1G,便于统一对比)
dd if=/dev/zero of=/mnt/test_4k bs=4k count=256000 oflag=direct
# 4K 读取测试(读取刚才生成的文件)
dd if=/mnt/test_4k of=/dev/null bs=4k count=256000 iflag=direct
# 1M 写入测试(count=1000 表示总大小 1G)
dd if=/dev/zero of=/mnt/test_1m bs=1M count=1000 oflag=direct
# 1M 读取测试
dd if=/mnt/test_1m of=/dev/null bs=1M count=1000 iflag=direct
# 1G 写入测试(count=1 表示总大小 1G)
dd if=/dev/zero of=/mnt/test_1g bs=1G count=1 oflag=direct
# 1G 读取测试
dd if=/mnt/test_1g of=/dev/null bs=1G count=1 iflag=direct
if=/dev/zero:输入源为零字节流(不占用 CPU,纯 IO 测试)。
of=/mnt/xxx:输出文件路径(位于 /mnt 挂载点,即测试 /dev/vdb1)。
bs=4k/1M/1G:块大小(每次读写的数据块大小)。
count=N:块数量(总大小 = bs × count,统一设为 1G 便于对比)。
oflag=direct / iflag=direct:绕过系统缓存,测试磁盘真实 IO 性能(关键参数)。
命令执行后,会输出类似 1073741824 bytes (1.1 GB, 1.0 GiB) copied, 2.3456 s, 458 MB/s 的结果,其中 458 MB/s 即为测试的 IO 速度。
测试完成后,删除临时文件:
rm -f /mnt/test_4k /mnt/test_1m /mnt/test_1g
通过以上命令,可分别获取 /dev/vdb1 在 4k、1M、1G 块大小下的读写性能数据。
文章评论