在Linux下可以使用hdparm工具查看硬盤的相關信息或對硬盤進行測速、優化、修改硬盤相關參數設定。我主要常用這個工具來測試硬盤速度。
hdparm(hard disk parameters)
功能說明:顯示與設定硬盤的參數。
語法:
代碼如下:
hdparm [-CfghiIqtTvyYZ][-a <快取分區>][-A <0或1>][-c ][-d <0或1>][-k <0或1>][-K <0或1>][-m <分區數>][-n <0或
1>][-p ][-P <分區數>][-r <0或1>][-S <時間>][-u <0或1>][-W <0或1>][-X <傳輸模式>][設備]
參數說明:
-a<快取分區> 設定讀取文件時,預先存入塊區的分區數,若不加上<快取分區>選項,則顯示目前的設定。
-A<0或1> 啟動或關閉讀取文件時的快取功能。
-c 設定IDE32位I/O模式。
-C 檢測IDE硬盤的電源管理模式。
-d<0或1> 設定磁盤的DMA模式。
-f 將內存緩沖區的數據寫入硬盤,並清楚緩沖區。
-g 顯示硬盤的磁軌,磁頭,磁區等參數。
-h 顯示幫助。
-i 顯示硬盤的硬件規格信息,這些信息是在開機時由硬盤本身所提供。
-I 直接讀取硬盤所提供的硬件規格信息。
-k<0或1> 重設硬盤時,保留-dmu參數的設定。
-K<0或1> 重設硬盤時,保留-APSWXZ參數的設定。
-m<磁區數> 設定硬盤多重分區存取的分區數。
-n<0或1> 忽略硬盤寫入時所發生的錯誤。
-p 設定硬盤的PIO模式。
-P<磁區數> 設定硬盤內部快取的分區數。
-q 在執行後續的參數時,不在屏幕上顯示任何信息。
-r<0或1> 設定硬盤的讀寫模式。
-S<時間> 設定硬盤進入省電模式前的等待時間。
-t 評估硬盤的讀取效率。
-T 平谷硬盤快取的讀取效率。
-u<0或1> 在硬盤存取時,允許其他中斷要求同時執行。
-v 顯示硬盤的相關設定。
-W<0或1> 設定硬盤的寫入快取。
-X<傳輸模式> 設定硬盤的傳輸模式。
-y 使IDE硬盤進入省電模式。
-Y 使IDE硬盤進入睡眠模式。
-Z 關閉某些Seagate硬盤的自動省電功能。
hdparm常用參數使用舉例:
1、顯示硬盤的相關設置:
代碼如下:
[root@oracle ~]# hdparm /dev/sda
/dev/sda:
IO_support = 0 (default 16-bit)
readonly = 0 (off)
readahead = 256 (on)
geometry = 19929[柱面數]/255[磁頭數]/63[扇區數], sectors = 320173056[總扇區數], start = 0[起始扇區數]
2、顯示硬盤的柱面、磁頭、扇區數:
代碼如下:
[root@oracle ~]# hdparm -g /dev/sda
/dev/sda:
geometry = 19929[柱面數]/255[磁頭數]/63[扇區數], sectors = 320173056[總扇區數], start = 0[起始扇區數]
3、測試硬盤的讀取速度:
代碼如下:
[root@oracle ~]# hdparm -t /dev/xvda
/dev/xvda:
Timing buffered disk reads: 422 MB in 3.01 seconds = 140.20 MB/sec
[root@oracle ~]# hdparm -t /dev/xvda
/dev/xvda:
Timing buffered disk reads: 408 MB in 3.01 seconds = 135.59 MB/sec
[root@oracle ~]# hdparm -t /dev/xvda
/dev/xvda:
Timing buffered disk reads: 416 MB in 3.01 seconds = 138.24 MB/sec
4、測試硬盤緩存的讀取速度:
代碼如下:
[root@oracle ~]# hdparm -T /dev/xvda
/dev/xvda:
Timing cached reads: 11154 MB in 1.98 seconds = 5633.44 MB/sec
[root@oracle ~]# hdparm -T /dev/xvda
/dev/xvda:
Timing cached reads: 10064 MB in 1.98 seconds = 5077.92 MB/sec
[root@oracle ~]# hdparm -T /dev/xvda
/dev/xvda:
Timing cached reads: 10600 MB in 1.98 seconds = 5351.73 MB/sec
5、檢測硬盤的電源管理模式:
代碼如下:
[root@oracle ~]# hdparm -C /dev/sda
/dev/sda:
drive state is: standby [省電模式]
6、查詢並設置硬盤多重扇區存取的扇區數,以增進硬盤的存取效率:
代碼如下:
[root@oracle ~]# hdparm -m /dev/sda
[root@oracle ~]# hdparm -m 參數值為整數值如8 /dev/sda
附:硬盤壞道修復方法
檢查:
代碼如下:
smartctl -l selftest /dev/sda
卸載:
代碼如下:
umount /dev/sda*
修復:
代碼如下:
badblocks /dev/sda