使用dd命令测试linux磁盘读写速度的方法

乐清SEO_开发应用_linux_ 乐清SEO2021-04-09 转载自:

1、先熟悉两个特殊的设备:
(1)/dev/null:回收站、无底洞。
(2)/dev/zero:产生字符。

2、测试磁盘写能力
 

复制代码

代码如下:


time dd if=/dev/zero of=/testw.dbf bs=4k count=100000


因为/dev//zero是一个伪设备,它只产生空字符流,对它不会产生IO,所以,IO都会集中在of文件中,of文件只用于写,所以这个命令相当于测试磁盘的写能力。命令结尾添加oflag=direct将跳过内存缓存,添加oflag=sync将跳过hdd缓存。

 

3、测试磁盘读能力
 

复制代码

代码如下:


time dd if=/dev/sdb of=/dev/null bs=4k


因为/dev/sdb是一个物理分区,对它的读取会产生IO,/dev/null是伪设备,相当于黑洞,of到该设备不会产生IO,所以,这个命令的IO只发生在/dev/sdb上,也相当于测试磁盘的读能力。(Ctrl+c终止测试)

 


4、测试同时读写能力
 

复制代码

代码如下:


time dd if=/dev/sdb of=/testrw.dbf bs=4k


在这个命令下,一个是物理分区,一个是实际的文件,对它们的读写都会产生IO(对/dev/sdb是读,对/testrw.dbf是写),假设它们都在一个磁盘中,这个命令就相当于测试磁盘的同时读写能力。