|
|
使用命令: 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`参数)。因此,在使用这个命令时需要小心,以避免不必要的资源消耗。
测试磁盘读能力
dd if=/dev/sda of=/dev/null bs=8M count=1024
这里,if 指定了输入文件(例如 /dev/sda 表示你的第一个硬盘),of 指定了输出文件(这里是 /dev/null,即黑洞设备,意味着不保存数据, 这条命令只读取不写入,所以相当于测试读取速度),bs 指定了块大小(例如 8MB),count 指定了要复制的块数。
dd if=/dev/sda of=/dev/null bs=4K ,不指定 count 那么就是(Ctrl+c终止测试)
测试同时读写能力
time dd if=/dev/zero of=/tmp/test bs=4k
在这个命令下,一个是物理分区,一个是实际的文件,对它们的读写都会产生IO(对/dev/zero是读,对/tmp/null是写),假设它们都在一个磁盘中,这个命令就相当于测试磁盘的同时读写能力。
没有办法单独测试写能力, 不读取怎么能写入呢?
|
|