dd测试磁盘速度

原创 2015年07月09日 17:56:57
 问: 以下几种方式测试磁盘读写速度有什么区别?

1、dd bs=1M count=128 if=/dev/zero of=test
2、dd bs=1M count=128 if=/dev/zero of=test; sync
3、dd bs=1M count=128 if=/dev/zero of=test conv=fdatasync
4、dd bs=1M count=128 if=/dev/zero of=test oflag=dsync
    
答:区别在于内存中写缓存的处理方式。

1.dd bs=1M count=128 if=/dev/zero of=test
没有加任何参数,dd默认的方式不包括“同步(sync)”命令。也就是说,dd命令完成前并没有让系统真正把文件写到磁盘上。所以以上命令只是单纯地把这128MB的数据读到内存缓冲当中(写缓存[write cache])。所以你得到的将是一个超级快的速度。因为其实dd给你的只是读取速度,直到dd完成后系统才开始真正往磁盘上写数据,但这个速度你是看不到了。所以如果这个速度很快,先不要偷着乐。呵呵

2.dd bs=1M count=128 if=/dev/zero of=test; sync
和前面1中的完全一样。分号隔开的只是先后两个独立的命令。当sync命令准备开始往磁盘上真正写入数据的时候,前面dd命令已经把错误的“写入速度”值显示在屏幕上了。所以你还是得不到真正的写入速度。

3.dd bs=1M count=128 if=/dev/zero of=test conv=fdatasync
加入这个参数后,dd命令执行到最后会真正执行一次“同步(sync)”操作,所以这时候你得到的是读取这128M数据到内存并写入到磁盘上所需的时间,这样算出来的时间才是比较符合实际的。

4.dd bs=1M count=128 if=/dev/zero of=test oflag=dsync
加入这个参数后,dd在执行时每次都会进行同步写入操作。也就是说,这条命令每次读取1M后就要先把这1M写入磁盘,然后再读取下面这1M,一共重复128次。这可能是最慢的一种方式了,因为基本上没有用到写缓存(write cache)。

问:那应该用哪一种呢?
答:建议使用
dd bs=1M count=128 if=/dev/zero of=test conv=fdatasync

因为这种方式最接近计算机实际操作,所以测出来的数据最有参考价值。

整理自网络

使用time+dd测试硬盘读写速度

写速度: time dd if=/dev/zero of=test.dbf bs=8k count=300000 其中/dev/zero是一个伪设备,它只产生空字符流,对它不会产生IO,所以,IO都...
  • s1070
  • s1070
  • 2016年10月19日 15:44
  • 2370

ASM磁盘测试

[root@11gasm ~]# su - grid [grid@11gasm ~]$ sqlplus / as sysasm SQL*Plus: Release 11.2.0.4.0 P...
  • roc_phoneix
  • roc_phoneix
  • 2015年10月09日 09:06
  • 173

linux使用dd命令测试磁盘读写速度的方法

1、先熟悉两个特殊的设备: (1)/dev/null:回收站、无底洞。 (2)/dev/zero:产生字符。 2、测试磁盘写能力 复制代码 代码如下: time dd ...
  • hktkfly6
  • hktkfly6
  • 2017年05月10日 12:33
  • 1041

ASM使用dd恢复数据

实验环境: Disk /dev/sdb: 42.9 GB, 42949672960 bytes 255 heads, 63 sectors/track, 5221 cylinders Units...
  • u011616400
  • u011616400
  • 2015年09月21日 14:04
  • 481

使用 dd 命令进行硬盘 I/O 性能检测

使用 dd 命令进行硬盘 I/O 性能检测 转自 https://linux.cn/article-6104-1.html 原文:http://www.cyberciti.biz...
  • skykingf
  • skykingf
  • 2015年08月28日 19:06
  • 2598

dd 命令用来测试硬盘及网络带宽读写速度

dd 是 Linux/UNIX 下的一个非常有用的命令,作用是用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换。 1. 命令简介,dd 的主要选项: 指定数字的地方若以下列字符结尾乘...
  • lishenglong666
  • lishenglong666
  • 2015年07月07日 14:55
  • 1680

使用DD进行Linux的磁盘读写性能测试

注:dd只能提供一个大概的测试结果,而且是连续IO 而不是随机IO 1. 首先用自带的dd命令先测一下, 块大小为8k dd只能提供一个大概的测试结果,而且是连续IO 而不是随机IO 读测试 [@mo...
  • xuhuojun
  • xuhuojun
  • 2016年07月19日 11:42
  • 2609

linux下测试硬盘读写速度

买了个ssd硬盘,就想着跟普通的机械盘做个比较,因为桌面装的是ubuntu系统,所以就想用linux的命令简单测一下好了 下面是ssd的性能数据: 测试写: xxx@WaitFish...
  • qcpm1983
  • qcpm1983
  • 2014年08月05日 17:26
  • 2103

用dd测试SD卡的读写速度

注:会造成SD卡分区的丢失.. SD卡的读速度: time dd if=/dev/mmcblk0 of=/dev/null bs=4096k count=20 conv=syn...
  • heqiuya
  • heqiuya
  • 2012年11月29日 09:18
  • 2545

Linux使用dd命令测试硬盘读写速度

>Linux服务器装好系统之后,想要知道硬盘的读写是否能满足服务的需要,如果不满足硬盘的IO就是服务的一个瓶颈。所以我们需要测试硬盘的读写速度,测试的方法很多,下面是使用Linux 自带的dd命令测试...
  • feng4656
  • feng4656
  • 2013年09月04日 14:18
  • 21439
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:dd测试磁盘速度
举报原因:
原因补充:

(最多只允许输入30个字)