天天看點

利用dd指令對Linux磁盤進行讀寫能力測試

在Linux中,對磁盤進行讀寫能力的測試,是一件非常必要的事情。雖然有一些很專業的軟體去做這件事,但在某些情況下,由于技術能力限制,或使用者并不需要很專業,這時就要考慮Linux内嵌指令dd了,它是一個簡單易用,且功能略微強大的指令。

一、首先要了解兩個特殊的裝置

/dev/null:資源回收筒、無底洞,可以把一些沒用的東西丢進去

/dev/zero:産生字元,這樣就可以模拟檔案,不需要有檔案就可以進行檔案傳輸

二、讀寫能力測試

磁盤寫能力測試:

time dd if=/dev/zero of=/test bs=8k count=300000

因為/dev/zero是一個僞裝置,它隻産生空字元流,對它不會産生IO,是以,IO都會集中在of檔案中,of檔案隻用于寫,是以這個指令相當于測試磁盤的寫能力。

測試磁盤讀能力:

time dd if=/dev/sdb1 of=/dev/null bs=8k

因為/dev/sdb1是一個實體分區,對它的讀取會産生IO,/dev/null是僞裝置,相當于黑洞,of到該裝置不會産生IO,是以,這個指令的IO隻發生在/dev/sdb1上,也相當于測試磁盤的讀能力。

測試同時讀寫能力

time dd if=/dev/sdb1 of=/test1 bs=8k

這個指令下,一個是實體分區,一個是實際的檔案,對它們的讀寫都會産生IO(對/dev/sdb1是讀,對/test1.dbf是寫),假設他們都在一個磁盤中,這個指令就相當于測試磁盤的同時讀寫能力。

dd工具使用

if輸入裝置或者檔案

of輸出裝置或檔案

bsdd緩沖區。設定dd時一次io拷貝多少資料,它與輸入檔案和輸出檔案的block size都沒有直接聯系。一般來說,bs越大,拷貝速度越快。

skip設定dd時從輸入檔案中跳過多少個dd緩沖區開始拷貝資料。一般在裸裝置有offset時使用。

seek設定dd時從輸出檔案中跳過多少個dd緩沖區開始寫入資料。一般在裸裝置有offset時使用。

count設定dd的io數量。如果省略了count,表示完全拷貝輸入檔案到輸出檔案上。

當然,dd工具還有更多強大的功能,不是常用的,在此不做介紹。

本文出自 “” 部落格,請務必保留此出處

繼續閱讀