首页 > 代码库 > 利用dd命令对Linux磁盘进行读写能力测试

利用dd命令对Linux磁盘进行读写能力测试

Linux中,对磁盘进行读写能力的测试,是一件非常必要的事情。虽然有一些很专业的软件去做这件事,但在某些情况下,由于技术能力限制,或用户并不需要很专业,这时就要考虑Linux内嵌命令dd了,它是一个简单易用,且功能略微强大的命令。

一、首先要了解两个特殊的设备

/dev/null:回收站、无底洞,可以把一些没用的东西丢进去

/dev/zero:产生字符,这样就可以模拟文件,不需要有文件就可以进行文件传输

二、读写能力测试

磁盘写能力测试:

time dd if=/dev/zero of=/test bs=8k count=300000

因为/dev/zero是一个伪设备,它只产生空字符流,对它不会产生IO,所以,IO都会集中在of文件中,of文件只用于写,所以这个命令相当于测试磁盘的写能力。

测试磁盘读能力

time dd if=/dev/sdb1 of=/dev/null bs=8k

因为/dev/sdb1是一个物理分区,对它的读取会产生IO/dev/null是伪设备,相当于黑洞,of到该设备不会产生IO,所以,这个命令的IO只发生在/dev/sdb1上,也相当于测试磁盘的读能力。

测试同时读写能力

time dd if=/dev/sdb1 of=/test1 bs=8k

这个命令下,一个是物理分区,一个是实际的文件,对它们的读写都会产生IO(对/dev/sdb1是读,对/test1.dbf是写),假设他们都在一个磁盘中,这个命令就相当于测试磁盘的同时读写能力。

dd工具使用

if输入设备或者文件

of输出设备或文件

bsdd缓冲区。设定dd时一次io拷贝多少数据,它与输入文件和输出文件的block size都没有直接联系。一般来说,bs越大,拷贝速度越快

skip设定dd时从输入文件中跳过多少个dd缓冲区开始拷贝数据。一般在裸设备有offset时使用

seek设定dd时从输出文件中跳过多少个dd缓冲区开始写入数据。一般在裸设备有offset时使用

count设置ddio数量。如果省略了count,表示完全拷贝输入文件到输出文件上

当然,dd工具还有更多强大的功能,不是常用的,在此不做介绍。


本文出自 “网络技术” 博客,请务必保留此出处http://zqxiang.blog.51cto.com/2806551/1410064