linux用dd测试磁盘速度

首先要了解两个特殊的设备:
/dev/null:回收站、无底洞
/dev/zero:产生字符
 
1 测试磁盘写能力
time dd if=/dev/zero of=/test.dbf bs=8k count=300000
因为/dev//zero是一个伪设备,它只产生空字符流,对它不会产生IO,所以,IO都会集中在of文件中,of文件只用于写,所以这个命令相当于测试磁盘的写能力。

例:
[root@nticket2 ~]# time dd if=/dev/zero of=/test.dbf bs=8k count=300000
300000+0 records in
300000+0 records out
2457600000 bytes (2.5 GB) copied, 3.7169 seconds, 661 MB/s

real    0m3.719s
user    0m0.038s
sys     0m3.659s

注:去掉time,即dd if=/dev/zero of=/test.dbf bs=8k count=300000 可以生成一个2.5G的test.dbf 测试文件。

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

例:
[root@nticket2 ~]# time dd if=/dev/sda2 of=/dev/null bs=8k
^C2881308+0 records in
2881307+0 records out
23603666944 bytes (24 GB) copied, 34.4505 seconds, 685 MB/s

real    0m34.452s
user    0m0.322s
sys     0m21.040s

 

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

例:
[root@nticket2 ~]# time dd if=/dev/sda2 of=/test1.dbf bs=8k
^C2112157+0 records in
2112157+0 records out
17302790144 bytes (17 GB) copied, 31.5224 seconds, 549 MB/s

real    0m35.832s
user    0m0.290s
sys     0m34.998s

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值