在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
dd命令的基本使用 dd:用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换。 注意:指定数字的地方若以下列字符结尾,则乘以相应的数字:b=512;c=1;k=1024;w=2 参数注释: if=文件名:输入文件名,缺省为标准输入。即指定源文件。< if=input file > 使用 dd 命令进行硬盘 I/O 性能检测 你可以使用以下命令在一个Linux或类Unix操作系统上进行简单的I/O性能测试。 dd命令 :它被用来在Linux和类Unix系统下对硬盘设备进行写性能的检测。 复制代码 代码如下:dd if=/dev/input.file of=/path/to/output.file bs=block-size count=number-of-blocks oflag=dsync ## GNU dd语法 ## dd if=/dev/zero of=/tmp/test1.img bs=1G count=1 oflag=dsync ##另外一种GNU dd的语法 ## dd if=/dev/zero of=/tmp/testALT.img bs=1G count=1 conv=fdatasync 输出样例: 请各位注意在这个实验中,我们写入一个G的数据,可以发现,服务器的吞吐率是135 MB/s,这其中 if=/dev/zero (if=/dev/input.file) :用来设置dd命令读取的输入文件名。 复制代码 代码如下:dd if=/dev/zero of=/tmp/test2.img bs=512 count=1000 oflag=dsync 输出样例: 1000+0 records in 为什么服务器的吞吐率和延迟时间都这么差? 使用hdparm命令来查看硬盘缓存的读速度。 我建议你运行下面的命令2-3次来对设备读性能进行检测,以作为参照和相互比较: 复制代码 代码如下:### 有缓存的硬盘读性能测试——/dev/sda ### hdparm -t /dev/sda1 ## 或者 ## hdparm -t /dev/sda 然后运行下面这个命令2-3次来对缓存的读性能进行对照性检测: 复制代码 代码如下:## Cache读基准——/dev/sda ### hdparm -T /dev/sda1 ## 或者 ## hdparm -T /dev/sda 或者干脆把两个测试结合起来: 复制代码 代码如下:hdparm -Tt /dev/sda 输出样例: 请再次注意,由于文件文件操作的缓存属性,你将总是会看到很高的读速度。 使用dd命令来测试读取速度 复制代码 代码如下:flush echo 3 | sudo tee /proc/sys/vm/drop_caches time time dd if=/path/to/bigfile of=/dev/null bs=8k 笔记本上的示例 运行下列命令: 复制代码 代码如下:### 带有Cache的Debian系统笔记本吞吐率### dd if=/dev/zero of=/tmp/laptop.bin bs=1G count=1 oflag=direct ###使cache失效### hdparm -W0 /dev/sda ###没有Cache的Debian系统笔记本吞吐率### dd if=/dev/zero of=/tmp/laptop.bin bs=1G count=1 oflag=direct 苹果OS X Unix(Macbook pro)的例子 GNU dd has many more options but OS X/BSD and Unix-like dd command need to run as follows to test real disk I/O and not memory add sync option as follows: GNU dd命令有其他许多选项,但是在 OS X/BSD 以及类Unix中, dd命令需要像下面那样执行来检测去除掉内存地址同步的硬盘真实I/O性能: 复制代码 代码如下:## 运行这个命令2-3次来获得更好地结果 ### time sh -c "dd if=/dev/zero of=/tmp/testfile bs=100k count=1k && sync" 输出样例: 1024+0 records in 不喜欢用命令行? 图形化方法 在左边的面板上选择你的硬盘,点击configure按钮,然后点击“Benchmark partition”: 如果你要问,我推荐使用哪种命令和方法? 我推荐在所有的类Unix系统上使用dd命令(time sh -c "dd if=/dev/zero of=/tmp/testfile bs=100k count=1k && sync) |
请发表评论