dd linux 测试写速度,正确的使用dd进行磁盘读写速度测试
测试方式:使用dd指令,对磁盘进行连续写入,不使用内存缓冲区,每次写入8k的数据,总共写入20万次,产生1.6G大小的文件。
测试指令:dd if=/dev/zero of=/data01/test.dbf bs=8k count=200000 conv=fdatasync
----------------------------------------------
正确的使用dd进行磁盘读写速度测试
dd是Linux/UNIX 下的一个非常有用的命令,作用是用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换,所以可以用来测试硬盘的顺序读写能力。可以写文件,可以写裸设备。
dd语法
---------------------------------------------------------
功能说明:读取,转换并输出数据。
语 法:dd [bs=][cbs=][conv=][count=][ibs=][if=][obs=][of=][seek=][skip=][--help][--version]
补充说明:dd可从标准输入或文件读取数据,依指定的格式来转换数据,再输出到文件,设备或标准输出。
参 数:
bs= 将ibs( 输入)与obs(输出)设成指定的字节数。
cbs= 转换时,每次只转换指定的字节数。
conv= 指定文件转换的方式。
count= 仅读取指定的区块数。
ibs= 每次读取的字节数。
if= 从文件读取。
obs= 每次输出的字节数。
of= 输出到文件。
seek= 一开始输出时,跳过指定的区块数。
skip= 一开始读取时,跳过指定的区块数。
--help 帮助。
--version 显示版本信息。
dd常用参数详解
---------------------------------------------------------
if=xxx 从xxx读取,如if=/dev/zero,该设备无穷尽地提供0,(不产生读磁盘IO)
of=xxx 向xxx写出,可以写文件,可以写裸设备。如of=/dev/null,"黑洞",它等价于一个只写文件. 所有写入它的内容都会永远丢失. (不产生写磁盘IO)
bs=8k 每次读或写的大小,即一个块的大小。
count=xxx 读写块的总数量。
避免操作系统“写缓存”干扰测试成绩,使用sync、fsync、fdatasync
---------------------------------------------------------
关于sync、fsync、fdatasync请参考:http://elf8848.iteye.com/blog/2088986
dd bs=8k count=4k if=/dev/zero of=test.log conv=fsync
dd bs=8k count=4k if=/dev/zero of=test.log conv=fdatasync
dd bs=8k count=4k if=/dev/zero of=test.log oflag=dsync
dd bs=8k count=4k if=/dev/zero of=test.log 默认“写缓存”启作用
dd bs=8k count=4k if=/dev/zero of=test.log conv=sync “写缓存”启作用
dd bs=8k count=4k if=/dev/zero of=test.log; sync “写缓存”启作用
dd bs=8k count=4k if=/dev/zero of=test.log conv=fsync
加入这个参数后,dd命令执行到最后会真正执行一次“同步(sync)”操作,,这样算出来的时间才是比较符合实际使用结果的。conv=fsync表示把文件的“数据”和“metadata”都写入磁盘(metadata包括size、访问时间st_atime & st_mtime等等),因为文件的数据和metadata通常存在硬盘的不同地方,因此fsync至少需要两次IO写操作,fsync 与fdatasync相差不大。(重要,最有参考价值)
dd bs=8k count=4k if=/dev/zero of=test.log conv=fdatasync
加入这个参数后,dd命令执行到最后会真正执行一次“同步(sync)”操作,,这样算出来的时间才是比较符合实际使用结果的。conv=fdatasync表示只把文件的“数据”写入磁盘,fsync 与fdatasync相差不大。(重要,最有参考价值)
dd bs=8k count=4k if=/dev/zero of=test.log oflag=dsync
加入这个参数后,每次读取8k后就要先把这8k写入磁盘,然后再读取下面一个8k,一共重复4K次。这是最慢的一种方式了。
dd bs=8k count=4k if=/dev/zero of=test
没加关于操作系统“写缓存”的参数,默认“写缓存”启作用。dd先把数据写的操作系统“写缓存”,就完成了写操作。通常称为update的系统守护进程会周期性地(一般每隔30秒)调用sync函数,把“写缓存”中的数据刷入磁盘。因为“写缓存”起作用,你会测试出一个超级快的性能。
如:163840000 bytes (164 MB) copied, 0.742906 seconds, 221 MB/s
dd bs=8k count=4k if=/dev/zero of=test conv=sync
conv=sync参数明确“写缓存”启作用,默认值就是conv=sync
dd bs=8k count=4k if=/dev/zero of=test; sync
与第1个完全一样,分号隔开的只是先后两个独立的命令。当sync命令准备开始往磁盘上真正写入数据的时候,前面dd命令已经把错误的“写入速度”值显示在屏幕上了。所以你还是得不到真正的写入速度。
裸设备测试
----------------------
1、裸设备到文件系统
dd if=/dev/rsd1b of=/backup/df1.dbf bs=8k skip=8 count=3841
2、文件系统到裸设备
dd if=/backup/df1.dbf of=/dev/rsd2b bs=8k seek=8
更多关于裸设备,请参考:http://czmmiao.iteye.com/blog/1748748
dd linux 测试写速度,正确的使用dd进行磁盘读写速度测试相关推荐
- dd命令测试linux磁盘io情况,【LINUX】正确的使用dd进行磁盘读写速度测试
测试方式:使用dd指令,对磁盘进行连续写入,不使用内存缓冲区,每次写入8k的数据,总共写入20万次,产生1.6G大小的文件. 测试指令:dd if=/dev/zero of=/data01/test. ...
- 正确的使用dd进行磁盘读写速度测试
测试方式:使用dd指令,对磁盘进行连续写入,不使用内存缓冲区,每次写入8k的数据,总共写入20万次,产生1.6G大小的文件. 测试指令:dd if=/dev/zero of=/data01/test. ...
- Linux中磁盘读写速度测试
磁盘读写速度测试前提,必须停止应用,停止应用,停止应用,否则测速存在巨大偏差. 建议同时使用time和dd命令 写:time dd if=/dev/zero of=/pgdb/test bs=8k c ...
- dd linux 格式化u盘启动盘_linux dd命令[用于制作U盘启动盘的神奇的命令]
linux dd命令刻录启动U盘详解 dd命令做usb启动盘十分方便,只须:sudo dd if=xxx.iso of=/dev/sdb bs=1M 用以上命令前必须卸载u盘,sdb是你的u盘,bs= ...
- dd linux 格式化u盘启动盘_linux dd命令刻录启动U盘详解
linux dd命令刻录启动U盘详解 dd命令做usb启动盘十分方便,只须:sudo dd if=xxx.iso of=/dev/sdb bs=1M 用以上命令前必须卸载u盘,sdb是你的u盘,bs= ...
- 苹果测试充电速度软件,ChargerLAB推出iPhone 8快充测试工具POWER-Z
北京时间9月13日1点,苹果在Apple Park举办了秋季新品发布会,带来众望所归的三款机型:iPhone 8.iPhone 8Plus以及十周年特别版iPhone X.三管齐下,并且均配备了USB ...
- linux系统提升硬盘写速度的方法
LINUX系统写速度问题解决过程 问题描述: linux系统下写速度只有2GB/s左右,无法支持2.5G采样率连续采集,达不到预期的性能.而同样的代码在windows系统下,却可以支持2.5G采样率连 ...
- linux 磁盘最大读写速度,测试linux下磁盘的读写速率
1) 通过df -h命令查看磁盘情况 Filesystem Size Used Avail Use% Mounted on /dev/sda4 289G ...
- Linux 如何测试 IO 性能(磁盘读写速度)
这几天做MySQL性能测试,偌大一个公司,找几台性能测试机器都很纠结,终于协调到两台,IO的性能如何还不知道. 数据库属于IO密集型的应用,所以还是先评估下Server的IO性能,看看是否能和线上的机 ...
最新文章
- altium designer 原理图和PCB 多通道设计
- spring vo是什么_DO、VO、DTO...XXOO,你弄明白了么
- 【技术史】数据中台的前世今生
- mysql integrityerror_mysql插入数据报错IntegrityError: (1062, Duplicate entry 'xx' for key 'xxxxx')...
- 2021-2022年度第三届全国大学生算法设计与编程挑战赛(秋季赛)- 占座位(最小割)
- Repeater在无数据记录时显示“无相关记录...”
- 判断只有符号数字 java_java编程 判断输入的字符,数字,及其他符号的个数
- php服务器去广告,php – 简单的广告服务器
- socket中使用心跳来检测连接是否断开[ZT]
- MySQL备份,恢复方案,mysqlbinlog,mysqldump,主从,主主复制
- 创建一个WPF+EF应用程序
- 五种MATLAB画圆方式程序
- Python爬虫——用Pycharm写一个爬虫程序,爬取糗图百科全部糗图,室友看了直呼牛逼
- 机器学习初探:(十一)主成分分析
- 波士顿大学计算机科学与技术专业,波士顿大学计算机科学专业.pdf
- Eclipse JDT-简介
- 汽车云智能采集服务 八爪鱼采集器在汽车行业网站的应用
- 计算各种图形的周长(接口与多态)(Java)
- 《Delphi传奇》网络游戏组件安装步骤:Delphi 10.3安装DelphiX
- 数据库连接:Can`t connect to MySQL server on “localhost“(10038)
热门文章
- chatgpt微调fine-tuning
- 图数据库------NEO4JWin10下的安装以及问题
- Qt之QTcpServer/QTcpSocket简单收发信息(2)
- 内网上不了QQ,有办法解决:)
- 一种云平台中基于虚机和订单元信息的跨租户数据迁移实现统一纳管的方法
- AP模式和Router模式区别是什么
- 博图v15.1多用户服务器项目,博途 V15.1安装步骤
- linux下u盘检测程序
- ASP.NET MVC 实现页落网资源分享网站+充值管理+后台管理(2)之创建项目
- 最新前端开发面试笔试题及答案---图片(面试题系列持续更新中)(3)