time有计时作用,dd用于复制,从if读出,写到of。if=/dev/zero不产生IO,因此可以用来测试纯写速度。同理of=/dev/null不产生IO,可以用来测试纯读速度。bs是每次读或写的大小,即一个块的大小,count是读写块的数量。
指定出读取,写入文件到硬盘的速度
1.测 / 目录所在磁盘的纯写速度:
[root@base-dmz1 /]# 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, 2.57314 seconds, 398 MB/s
real 0m2.787s
user 0m0.920s
sys 0m1.867s
以上是因为使用了time才显示的,linux5中不需要使用,在linux4中是不会有(1024000000 bytes (1.0 GB) copied, 2.57314 seconds, 398 MB/s)部分,因此需要time命令来计算复制的时间。
2.测 / 目录所在磁盘的纯读速度:
dd if=/kvm/ftp/other/1Gb.file bs=64k |dd of=/dev/null
382860+0 records in
382860+0 records out
3136389120 bytes (3.1 GB) copied, 68.38 seconds, 45.9 MB/s
real 1m8.406s
user 0m0.039s
sys 0m4.573s
3.测读写速度(这是什么):
dd if=/vat/test of=/oradata/test1 bs=64k
dd: writing `/oradata/test1': No space left on device
5025+0 records in
5024+0 records out
329261056 bytes (329 MB) copied, 23.8813 seconds, 13.8 MB/s
注:理论上复制量越大测试越准确。
2010-07-05