Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> Linux 系統教學 >> Linux 教學

Linux 硬碟讀寫速度測試實戰:hdparm 與 dd 指令完整教學

編輯:Linux 教學

採購伺服器、驗收雲主機、排查 I/O 瓶頸時,量測硬碟實際讀寫效能是基本功。本文介紹兩大經典工具 hdparm (快速評估) 與 dd (實測吞吐量),附參數詳解與實測截圖。

工具一:hdparm - 快速評估緩存與直接讀取速度

常用參數

參數功能
-T測試緩存讀取速度 (CPU/記憶體/主機板匯流排效能)
-t測試裝置直接讀取速度 (硬碟實際吞吐量)
-i顯示硬碟硬體規格資訊 (開機時由裝置提供)
-I直接讀取裝置完整規格 (含 S.M.A.R.T.、NCQ 等)
-g顯示磁軌/磁頭/扇區幾何參數
-a獲取/設定預讀取扇區數
-A啟用/停用硬碟內建緩存

實測範例

# 測試 /dev/sda 緩存與直接讀取速度
hdparm -Tt /dev/sda

# 輸出範例
/dev/sda:
 Timing cached reads:   24940 MB in  2.00 seconds = 12470.00 MB/sec
 Timing buffered disk reads:  532 MB in  3.01 seconds = 176.74 MB/sec

hdparm 實測截圖

解讀:cached reads 反映記憶體/CPU 效能;buffered disk reads 才是硬碟真實循序讀取能力。SSD 通常 > 400 MB/s,機械硬碟 100~200 MB/s。

工具二:dd - 實測區塊級讀寫吞吐量

純寫入測試 (繞過讀取)

time dd if=/dev/zero of=/mnt/testfile bs=1M count=1024 conv=fdatasync
# if=/dev/zero 不產生 I/O,of 寫入檔案系統,conv=fdatasync 強制同步到磁碟

純讀取測試 (繞過寫入)

time dd if=/mnt/testfile of=/dev/null bs=1M
# of=/dev/null 丟棄資料,不產生寫入 I/O

參數關鍵

  • bs:區塊大小 (建議 1M~4M,模擬實際應用 I/O 大小)
  • count:區塊數量,總量 = bs × count (建議 ≥ 1GB 減少誤差)
  • conv=fdatasync / oflag=direct:確保繞過頁面緩存,測得真實磁碟速度
  • 多次執行取平均值

dd 寫入測試截圖

dd 讀取測試截圖

進階工具推薦

  • fio (Flexible I/O Tester):支援隨機/循序、讀/寫/混合、多執行緒、IOPS/延遲分布完整報表,業界標準基準工具。
  • iostat -xmt 1:持續觀察裝置利用率、await、svctm、%util 等關鍵指標。
Copyright © Windows教程網 All Rights Reserved