首页 > 代码库 > linux用dd测试磁盘速度

linux用dd测试磁盘速度

[root@localhost ~]# time dd if=/dev/zero bs=1024 count=1000000 of=/1Gb.file
记录了1000000+0 的读入
记录了1000000+0 的写出
1024000000字节(1.0 GB)已复制,11.6493 秒,87.9 MB/秒

real    0m11.690s
user    0m0.544s
sys     0m10.996s
[root@localhost ~]# ll /
总用量 1016330
-rw-r--r--.    1 root   root     1024000000 6月  27 14:10 1Gb.file

 

localhost:~ # time dd if=/dev/zero bs=1024 count=1000000 of=/1Gb.file
1000000+0 records in
1000000+0 records out
1024000000 bytes (1.0 GB) copied, 3.9051 s, 262 MB/s

real    0m3.909s
user    0m0.228s
sys     0m3.668s
localhost:~ # ll /1Gb.file
-rw-r--r-- 1 root root 1024000000 Jun 27 14:10 /1Gb.file

 

 

首先要了解两个特殊的设备:
/dev/null:回收站、无底洞
/dev/zero:产生字符
 
Ø 测试磁盘写能力
time dd if=/dev/zero of=/test.dbf 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.dbf bs=8k
这个命令下,一个是物理分区,一个是实际的文件,对它们的读写都会产生IO(对/dev/sdb1是读,对/test1.dbf是写),假设他们都在一个磁盘中,这个命令就相当于测试磁盘的同时读写能力

 

http://blog.itpub.net/23718752/viewspace-1190187/