原文出处:http://blog.csdn.net/xrb66/article/details/7180919

问: 以下几种方式测试磁盘读写速度有什么区别?

1
2
3
4

dd bs=1M count=128 if=/dev/zero of=test 
dd bs=1M count=128 if=/dev/zero of=test; sync 
dd bs=1M count=128 if=/dev/zero of=test conv=fdatasync
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

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

#devopstools 用DD测试磁盘读写速度相关推荐

  1. 正确用DD测试磁盘读写速度--csdn(xrb66的专栏)

    问: 以下几种方式测试磁盘读写速度有什么区别? 1 2 3 4 dd bs=1M count=128 if=/dev/zero of=test  dd bs=1M count=128 if=/dev/ ...

  2. DD测试磁盘读写速度

    问: 以下几种方式测试磁盘读写速度有什么区别? 1 2 3 4 dd bs=1M count=128 if=/dev/zero of=test  dd bs=1M count=128 if=/dev/ ...

  3. dd命令测试linux磁盘io情况,【LINUX】正确的使用dd进行磁盘读写速度测试

    测试方式:使用dd指令,对磁盘进行连续写入,不使用内存缓冲区,每次写入8k的数据,总共写入20万次,产生1.6G大小的文件. 测试指令:dd if=/dev/zero of=/data01/test. ...

  4. dd命令测试磁盘读写速度

    问: 以下几种方式测试磁盘读写速度有什么区别? dd bs=1M count=128 if=/dev/zero of=test dd bs=1M count=128 if=/dev/zero of=t ...

  5. 正确的使用dd进行磁盘读写速度测试

    测试方式:使用dd指令,对磁盘进行连续写入,不使用内存缓冲区,每次写入8k的数据,总共写入20万次,产生1.6G大小的文件. 测试指令:dd if=/dev/zero of=/data01/test. ...

  6. dd linux 测试写速度,正确的使用dd进行磁盘读写速度测试

    测试方式:使用dd指令,对磁盘进行连续写入,不使用内存缓冲区,每次写入8k的数据,总共写入20万次,产生1.6G大小的文件. 测试指令:dd if=/dev/zero of=/data01/test. ...

  7. 【Linux】time+dd测试硬盘读写速度

    dd 是 Linux/UNIX 下的一个非常有用的命令,作用是用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换. dd 命令通用语法格式如下: dd if=path/to/input_file ...

  8. 【转】dd命令详解及利用dd测试磁盘性能

    dd命令详解及利用dd测试磁盘性能 linux下dd命令详解 名称: dd 使用权限: 所有使用者 manpage 定义: convert and copy a file 使用方式: dd [opti ...

  9. OS实验——测试磁盘读写速度与多进程并发(C语言,Linux)

    前言 这几天换季了,身边的很多人包括自己都感冒了,大家要注意保暖防寒,适当运动,规律作息.这期的blog本来想分两期做的,结果这几天一直重感冒,拖到了现在,索性就来个二合一. 完整代码在文末 测试磁盘 ...

最新文章

  1. Android环境搭建遭遇Unsupported major.minor version 52.0
  2. php伪静态后不能访问html,php伪静态后html不能访问怎么办
  3. java order()_java.util.Collections.reverseOrder()
  4. C# 或Asp.Net 将excel表格导入数据库
  5. android 初始化类,Android 常用编程技巧/Java类的初始化顺序 (静态变量、静态初始化块、变量、初始化块、构造器)...
  6. 其他系统 对外接口设计_外观模式:统一接口 VS.暴露细节
  7. leetcode 12 Integer to Roman
  8. 深入浅出设计模式之工厂模式
  9. 黑苹果小兵clover目录及驱动介绍
  10. 日期插件layui的》laydate
  11. win10和win11系统qq远程不能控制(点不动)的终极解决方法
  12. Android添加手机黑名单,手机来电拦截实现详解与Demo,一个不错的练手项目,涵盖Android四大组件。
  13. 光滑噪声数据常用的方法_整理一份详细的数据预处理方法
  14. 74HC238引脚定义 使用方法
  15. HDU 4009 Transfer water (最小树形图+虚根)
  16. web一阶段 day14
  17. jwt鉴权(react express jsonwebtoken)
  18. App自动化测试之Java平台下使用Appium测试App(一)
  19. 流程图+BPMN+脑图 JointJS++ 3.6.3 Crack
  20. vue通过发送手机号码短信验证登录

热门文章

  1. eclipse中SVN分支合并到主干(记录)
  2. 基于SSM的企业住房公积金管理系统
  3. 为何苹果手机都这么贵?终于有了明确的答案(深度解析)
  4. 黑马程序员之Web前端全栈 · 阶段一 前端开发基础 (3)
  5. C\C++ 日志记录
  6. html背景对联效果-恭喜新禧,web前端开发 —— 一个对联效果
  7. 快来跟我一起学 React(Day5)
  8. Python爬虫之Scrapy框架系列(1)——初识Scrapy框架【安装+简介+运行流程+组件介绍】
  9. 表格表头php,Excel表格表头怎么设置每页都有?
  10. SQLserver新增字段及注释