dd命令詳解


【基本參數詳解】

dd

復制

  

if

if=/dev/zero不產生IO

of

目的

of=/dev/null不產生IO

bs

塊大小

  

count

讀寫塊的數量

  

iflag/oflag

dd做讀寫測試時,要加兩個參數 iflag=nocache oflag=direct 參數。

沒有的話dd有時會顯示從內存中傳輸數據的結果,速度會不准確。

iflag=nocache
oflag=direct

seek

seek的作用是跳過輸出文件中指定大小的部分,這就達到了創建大文件,但是並不實際寫入的目的。

當然,因為不實際寫入硬盤,所以你在容量只有10G的硬盤上創建100G的此類文件都是可以的

  

示例:

dd if=/dev/zero of=test bs=1M count=0 seek=100000 oflag=direct

   

【測試讀寫速度】

Linux服務器裝好系統之后,想要知道硬盤的讀寫是否能滿足服務的需要,如果不滿足硬盤的IO就是服務的一個瓶頸。所以我們需要測試硬盤的讀寫速度,測試的方法很多,下面是使用Linux 自帶的dd命令測試硬盤的讀寫速度。

   

time有計時作用,dd用於復制,從if讀出,寫到ofif=/dev/zero不產生IO,因此可以用來測試純寫速度。同理of=/dev/null不產生IO,可以用來測試純讀速度。bs是每次讀或寫的大小,即一個塊的大小,count是讀寫塊的數量。

   

/data目錄所在磁盤的純寫速度

[root@nagios ~]# time dd if=/dev/zero of=/var/test bs=8k count=1000000 oflag=direct

   

/data目錄所在磁盤的純讀速度

[root@nagios ~]# time dd if=/var/test of=/dev/null bs=8k count=1000000 iflag=nocache

   

讀寫速度

[root@nagios ~]# time dd if=/var/test of=/tmp/test bs=8k count=1000000 iflag=nocache

   

備注:理論上測試復制量越大測試結果越准確

   

正常測試的時候可能不止測試一邊,可能會需要很多遍求取平均值,這個測試結果在普通的重定向是沒有效果的

用下面的方式可以將結果重定向到文件

dd if=/dev/zero of=/var/test bs=8k count=1000000 2>> info

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM