您知道如何检查硬盘性能,例如检查Linux操作系统上的读写速度吗?然后,这篇文章适合您!它的创建主要是为了向您提供DD命令的概述,该指南旨在为新用户提供更好的指导,并作为Linux入门入门的探索之旅。
DD是用于Unix和类Unix操作系统的命令行实用程序,其主要目的是在执行过程中复制文件并转换数据格式。
打开Linux根终端,并添加以下命令-
$ sudo dd if=/dev/zero of=/tmp/test1.img bs=1G count=1 oflag=dsync
输出应该像这样-
tp@linux:~$ sudo dd if=/dev/zero of=/tmp/test1.img bs=1G count=1 oflag=dsync [sudo] password for tp: 1+0 records in 1+0 records out 1073741824 bytes (1.1 GB) copied, 11.9635 s, 89.8 MB/s tp@linux:~$
请注意,在测试过程中将复制1GB,并且在整个测试过程中将每秒复制89.8 MB。
DD命令的块应该像这样–
if = / dev / zero(if = / dev / input.file) | 表示要使用DD命令读取的输入文件。 |
of = / tmp / test1.img(of = / path / to / output.file) | 表示要使用DD命令写入的输出文件 |
bs = 1G(bs =块大小) | 指示您要DD使用的块的大小(这里我已使用1 GB作为块) |
计数= 1(计数=块数) | 指示要在DD中使用以读取块的块数。 |
oflag = dsync(oflag = dsync) | 指示数据的同步I / O。 |
conv = fdatasyn | 此命令告诉DD进行同步。 |
在测试第一个刷新缓存数据之前,请使用以下命令-
$ echo 3 | sudo tee /proc/sys/vm/drop_caches time time dd if=/path/to/bigfile of=/dev/null bs=8k
运行以下命令以使用cache-测试数据
tp@linux:~$ dd if=/dev/zero of=/tmp/laptop.bin bs=1G count=1 oflag=direct 1+0 records in 1+0 records out 1073741824 bytes (1.1 GB) copied, 11.4265 s, 94.0 MB/s
上面的命令将复制1.1GB的数据,并且将94.0 MB / s用于测试。
要停用缓存,请使用以下命令–
$ sudo hdparm -W0 /dev/sda
输出应该是这样的–
tp@linux:~$ sudo hdparm -W0 /dev/sda /dev/sda: setting drive write-caching to 0 (off) write-caching = 0 (off)
运行以下命令以测试没有缓存的数据-
$ dd if=/dev/zero of=/tmp/laptop.bin bs=1G count=1 oflag=direct
输出应该是这样的–
tp@linux:~$ dd if=/dev/zero of=/tmp/laptop.bin bs=1G count=1 oflag=direct 1+0 records in 1+0 records out 1073741824 bytes (1.1 GB) copied, 11.5062 s, 93.3 MB/s
上面的命令复制了1.1GB的数据,并为测试提供了93.3 MB / s的速度。
恭喜你!现在,您知道了如何使用DD命令测试磁盘I / O性能。在我们的下一篇文章中,我们将提出更多基于Linux的技巧。继续阅读!