• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • bios
  • 系统安装
  • 系统进程
  • Windows
  • LINUX
  • RedHat/Centos
  • Ubuntu/Debian
  • Fedora
  • Solaris
  • 麒麟系统
  • 红旗Linux
  • 苹果MAC
  • 注册表
  • 其它系统
您的位置:首页 > 操作系统 >LINUX > Linux系统中使用dd命令检测硬盘性能的方法

Linux系统中使用dd命令检测硬盘性能的方法

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-05-12

佚名 通过本文向大家介绍了linux系统怎么使用,linux系统使用,linux系统使用教程,如何使用linux系统,linux操作系统使用等相关知识,希望对您有所帮助,也希望大家多多支持linkedu.com

dd命令的基本使用

dd:用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换。

注意:指定数字的地方若以下列字符结尾,则乘以相应的数字:b=512;c=1;k=1024;w=2

参数注释:

if=文件名:输入文件名,缺省为标准输入。即指定源文件。< if=input file >
of=文件名:输出文件名,缺省为标准输出。即指定目的文件。< of=output file >
ibs=bytes:一次读入bytes个字节,即指定一个块大小为bytes个字节。
obs=bytes:一次输出bytes个字节,即指定一个块大小为bytes个字节。
bs=bytes:同时设置读入/输出的块大小为bytes个字节。
cbs=bytes:一次转换bytes个字节,即指定转换缓冲区大小。
skip=blocks:从输入文件开头跳过blocks个块后再开始复制。
seek=blocks:从输出文件开头跳过blocks个块后再开始复制。
注意:通常只用当输出文件是磁盘或磁带时才有效,即备份到磁盘或磁带时才有效。
count=blocks:仅拷贝blocks个块,块大小等于ibs指定的字节数。
conv=conversion:用指定的参数转换文件。
ascii:转换ebcdic为ascii
ebcdic:转换ascii为ebcdic
ibm:转换ascii为alternate ebcdic
block:把每一行转换为长度为cbs,不足部分用空格填充
unblock:使每一行的长度都为cbs,不足部分用空格填充
lcase:把大写字符转换为小写字符
ucase:把小写字符转换为大写字符
swab:交换输入的每对字节
noerror:出错时不停止
notrunc:不截短输出文件
sync:将每个输入块填充到ibs个字节,不足部分用空(NUL)字符补齐。

使用 dd 命令进行硬盘 I/O 性能检测
如何使用dd命令测试我的硬盘性能?如何在linux操作系统下检测硬盘的读写速度?

你可以使用以下命令在一个Linux或类Unix操作系统上进行简单的I/O性能测试。

dd命令 :它被用来在Linux和类Unix系统下对硬盘设备进行写性能的检测。
hparm命令:它用来在基于 Linux 的系统上获取或设置硬盘参数,包括测试读性能以及缓存性能等。
在这篇指南中,你将会学到如何使用dd命令来测试硬盘性能。
使用dd命令来监控硬盘的读写性能:
打开shell终端。
或者通过ssh登录到远程服务器。
使用dd命令来测量服务器的吞吐率(写速度) dd if=/dev/zero of=/tmp/test1.img bs=1G count=1 oflag=dsync
使用dd命令测量服务器延迟 dd if=/dev/zero of=/tmp/test2.img bs=512 count=1000 oflag=dsync
理解dd命令的选项
在这个例子当中,我将使用搭载Ubuntu Linux 14.04 LTS系统的RAID-10(配有SAS SSD的Adaptec 5405Z)服务器阵列来运行。基本语法为:


if=/dev/zero (if=/dev/input.file) :用来设置dd命令读取的输入文件名。
of=/tmp/test1.img (of=/path/to/output.file):dd命令将input.file写入的输出文件的名字。
bs=1G (bs=block-size) :设置dd命令读取的块的大小。例子中为1个G。
count=1 (count=number-of-blocks):dd命令读取的块的个数。
oflag=dsync (oflag=dsync) :使用同步I/O。不要省略这个选项。这个选项能够帮助你去除caching的影响,以便呈现给你精准的结果。
conv=fdatasyn: 这个选项和oflag=dsync含义一样。
在下面这个例子中,一共写了1000次,每次写入512字节来获得RAID10服务器的延迟时间:


1000+0 records in
1000+0 records out
512000 bytes (512 kB) copied, 0.60362 s, 848 kB/s
请注意服务器的吞吐率以及延迟时间也取决于服务器/应用的负载。所以我推荐你在一个刚刚重启过并且处于峰值时间的服务器上来运行测试,以便得到更加准确的度量。现在你可以在你的所有设备上互相比较这些测试结果了。

为什么服务器的吞吐率和延迟时间都这么差?
低的数值并不意味着你在使用差劲的硬件。可能是硬件 RAID10的控制器缓存导致的。

使用hdparm命令来查看硬盘缓存的读速度。

我建议你运行下面的命令2-3次来对设备读性能进行检测,以作为参照和相互比较:




使用dd命令来测试读取速度
为了获得精确的读测试数据,首先在测试前运行下列命令,来将缓存设置为无效:



GNU dd命令有其他许多选项,但是在 OS X/BSD 以及类Unix中, dd命令需要像下面那样执行来检测去除掉内存地址同步的硬盘真实I/O性能:


1024+0 records in
1024+0 records out
104857600 bytes transferred in 0.165040 secs (635346520 bytes/sec)
real    0m0.241s
user    0m0.004s
sys 0m0.113s
本人Macbook Pro的写速度是635346520字节(635.347MB/s)。

不喜欢用命令行?
你可以在Linux或基于Unix的系统上使用disk utility(gnome-disk-utility)这款工具来得到同样的信息。下面的那个图就是在我的Fedora Linux v22 VM上截取的。

图形化方法
点击“Activites”或者“Super”按键来在桌面和Activites视图间切换。输入“Disks”

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • LINUX系统怎么使用命令清理磁盘空间?
  • Linux系统中使用iostat命令检测磁盘的IO性能
  • Linux系统中使用cmp和comm命令来比较两个文件
  • Linux系统中使用dd命令来转换和拷贝文件
  • Linux系统中使用netcat命令的奇技淫巧
  • Linux系统中使用dd命令检测硬盘性能的方法
  • Linux系统中使用fdupes来查找并删除重复文件
  • Linux系统中使用Grub启动器启动ISO镜像的方法

相关文章

  • 2017-05-12Linux神奇漏洞:长按回车键70秒 即可轻松拿到Root权限
  • 2017-05-12实例讲解Linux系统的服务器的DNS相关配置
  • 2017-05-12Linux做代理服务器实现步骤详解
  • 2017-05-12在Linux下通过命令行来操作使用Dropbox
  • 2017-05-12Linux下的命令行浏览器links介绍
  • 2017-05-12详解Linux中将应用程序打包为Snap软件包格式的方法
  • 2017-05-12Linux上设置用户通过SFTP访问目录的权限的方法
  • 2017-05-12 Linux菱形乱码如何修改? Linux菱形乱码的修改方法
  • 2017-05-12linux CentOS/redhat 6.5 LVM分区使用详解
  • 2017-05-12Linux Kernel 4.2下载 更新内容一览

文章分类

  • bios
  • 系统安装
  • 系统进程
  • Windows
  • LINUX
  • RedHat/Centos
  • Ubuntu/Debian
  • Fedora
  • Solaris
  • 麒麟系统
  • 红旗Linux
  • 苹果MAC
  • 注册表
  • 其它系统

最近更新的内容

    • Linux系统下pv命令的一些使用技巧小结
    • Linux系统怎么安装使用条码打印机?
    • Linux中的LVM之增加容量与删除卷的方法详解
    • Linux系统下配置多个IP及检测IP冲突的方法
    • Linux系统中使用fdupes来查找并删除重复文件
    • 解析Linux系统中bashrc和profile文件的作用区别
    • Arch Linux安装后的一些初始设置简介
    • linux下4种kill某个用户所有进程的方法
    • Linux下更改主机名(Ubuntu+Redhat)的方法
    • Linux系统中quota磁盘命令的相关使用解析

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有