电脑计算机论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 47|回复: 0

Linux上如何测试硬盘读写速度?

[复制链接]
admin 发表于 2025-6-4 14:39:00 | 显示全部楼层 |阅读模式

使用命令: dd  if=输入文件  of=输出文件  bs=字节数  count=个数

cd  /tmp/
touch  test
dd  if=/dev/zero of=/tmp/test bs=1M count=1024   (从/dev/zero中读取1GB的零数据,bs=1M count=1024 ,每个文件1mb,共1024个文件,所以共1GB,并将其直接写入/tmp/test中。)
dd  if=/dev/zero of=/tmp/test bs=4k count=100000  (使用4k小文件,测试硬盘写速度)
dd  if=/dev/zero of=/tmp/test bs=4k count=1000000  oflag=direct  (添加 oflag=direct 将跳过内存缓存,添加oflag=sysnc将跳过hdd缓存,不带参数就是测试真实参数下硬盘写速度)

在Linux中,`dd if=/dev/zero`命令的作用是读取/dev/zero设备,并将读取的数据输出到标准输出。/dev/zero是一个特殊的文件,它提供无限的空字符(null)。具体来说,`dd if=/dev/zero`命令会从/dev/zero设备中读取空字符,并将其输出到屏幕上。这个命令通常用于测试或调试目的,也可以用来填充文件或设备,因为写入/dev/zero的数据会被丢弃。如果你想将读取的数据写入一个文件,你可以使用`dd if=/dev/zero of=filename`命令,其中`filename`是你想要创建的文件的名称。这个命令将从/dev/zero设备读取空字符,并将其写入指定的文件中。需要注意的是,读取/dev/zero设备会不停地读取空字符,直到你终止命令或者达到文件大小限制(如果指定了`count`参数)。因此,在使用这个命令时需要小心,以避免不必要的资源消耗。


测试磁盘读能力
time dd if=/dev/zero of=/tmp/test bs=4k
因为/dev/sdb是一个物理分区,对它的读取会产生IO,/dev/null是伪设备,相当于黑洞,of到该设备不会产生IO,所以,这个命令的IO只发生在/DEV/SDB上,也相当于测试磁盘的读写能力。(Ctrl+c终止测试)

测试同时读写能力
time dd  if=/dev/zero  of=/tmp/test  bs=4k
在这个命令下,一个是物理分区,一个是实际的文件,对它们的读写都会产生IO(对/dev/zero是读,对/tmp/null是写),假设它们都在一个磁盘中,这个命令就相当于测试磁盘的同时读写能力。


您需要登录后才可以回帖 登录 | 注册

本版积分规则


QQ|手机版|小黑屋|电脑计算机论坛 ( 京ICP备2022023538号-1 )

GMT+8, 2025-6-16 02:41 , Processed in 0.094609 second(s), 22 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表