hdparm 測試硬碟讀寫速度I/O

urgel_babay發表於2016-03-01
--20141209

        Linux下除了自帶的dd可以測試硬碟的讀寫速度,還有hdparm也可以 測試硬碟讀寫速度。hdparm可檢測,顯示與設定IDE或SCSI硬碟的引數。
安裝:yum install hdparm
語  法:hdparm [-CfghiIqtTvyYZ][-a <快取分割槽>][-A <0或1>][-c <I/O模式>][-d <0或1>][-k <0或1>][-K <0或1>][-m <分割槽數>][-n <0或1>][-p <PIO模式>][-P <分割槽數>][-r <0或1>][-S <時間>][-u <0或1>][-W <0或1>][-X <傳輸模式>][裝置]
 
參  數:
  -a<快取分割槽>   設定讀取檔案時,預先存入塊區的分割槽數,若不加上<快取分割槽>選項,則顯示目前的設定。
  -A<0或1>   啟動或關閉讀取檔案時的快取功能。
  -c<I/O模式>   設定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模式>   設定硬碟的PIO模式。
  -P<磁區數>   設定硬碟內部快取的分割槽數。
  -q   在執行後續的引數時,不在螢幕上顯示任何資訊。
  -r<0或1>   設定硬碟的讀寫模式。
  -S<時間>   設定硬碟進入省電模式前的等待時間。
  -t   評估硬碟的讀取效率。
  -T  評估硬碟快取的讀取效率。
  -u<0或1>   在硬碟存取時,允許其他中斷要求同時執行。
  -v   顯示硬碟的相關設定。
  -W<0或1>   設定硬碟的寫入快取。
  -X<傳輸模式>   設定硬碟的傳輸模式。
  -y   使IDE硬碟進入省電模式。
  -Y   使IDE硬碟進入睡眠模式。
  -Z   關閉某些Seagate硬碟的自動省電功能。


測試硬碟的讀取速度:
1、普通磁碟測試(我的筆記本虛擬機器裡面的RedHat):
# hdparm -t /dev/sda
/dev/sda:
 Timing buffered disk reads:  250 MB in  3.00 seconds = 83.31 MB/sec
 
# hdparm -T /dev/sda
/dev/sda:
 Timing cached reads:   6260 MB in  2.0 seconds = 3131.79 MB/sec


2、RAID10測試(8塊盤做的raid10)
[root@zhanglin ~]# hdparm -t /dev/sda

/dev/sda:
 Timing buffered disk reads:  1684 MB in  3.00 seconds = 560.89 MB/sec
[root@zhanglin ~]# hdparm -T /dev/sda

/dev/sda:
 Timing cached reads:   13926 MB in  2.00 seconds = 6967.94 MB/sec

Linux裡面可以檢視具體的引數說明:
[root@zhanglin data]# hdparm --help
hdparm - get/set hard disk parameters - version v9.16
Usage:  hdparm  [options] [device] ..
Options:
 -a   get/set fs readahead
 -A   get/set the drive look-ahead flag (0/1)
 -b   get/set bus state (0 == off, 1 == on, 2 == tristate)
 -B   set Advanced Power Management setting (1-255)
 -c   get/set IDE 32-bit IO setting
 -C   check drive power mode status
 -d   get/set using_dma flag
 -D   enable/disable drive defect management
 -E   set cd/dvd drive speed
 -f   flush buffer cache for device on exit
 -F   flush drive write cache
 -g   display drive geometry
 -h   display terse usage information
 -H   read temperature from drive (Hitachi only)
 -i   display drive identification
 -I   detailed/current information directly from drive
 -k   get/set keep_settings_over_reset flag (0/1)
 -K   set drive keep_features_over_reset flag (0/1)
 -L   set drive doorlock (0/1) (removable harddisks only)
 -M   get/set acoustic management (0-254, 128: quiet, 254: fast)
 -m   get/set multiple sector count
 -N   get/set max visible number of sectors (HPA) (VERY DANGEROUS)
 -n   get/set ignore-write-errors flag (0/1)
 -p   set PIO mode on IDE interface chipset (0,1,2,3,4,...)
 -P   set drive prefetch count
 -q   change next setting quietly
 -Q   get/set DMA queue_depth (if supported)
 -r   get/set device  readonly flag (DANGEROUS to set)
 -R   obsolete
 -s   set power-up in standby flag (0/1) (DANGEROUS)
 -S   set standby (spindown) timeout
 -t   perform device read timings
 -T   perform cache read timings
 -u   get/set unmaskirq flag (0/1)
 -U   obsolete
 -v   defaults; same as -acdgkmur for IDE drives
 -V   display program version and exit immediately
 -w   perform device reset (DANGEROUS)
 -W   get/set drive write-caching flag (0/1)
 -x   obsolete
 -X   set IDE xfer mode (DANGEROUS)
 -y   put drive in standby mode
 -Y   put drive to sleep
 -Z   disable Seagate auto-powersaving mode
 -z   re-read partition table
 --dco-freeze      freeze/lock current device configuration until next power cycle
 --dco-identify    read/dump device configuration identify data
 --dco-restore     reset device configuration back to factory defaults
 --direct          use O_DIRECT to bypass page cache for timings
 --drq-hsm-error   crash system with a "stuck DRQ" error (VERY DANGEROUS)
 --fibmap          show device extents (and fragmentation) for a file
 --fibmap-sector   show absolute LBA of a specfic sector of a file
 --fwdownload            Download firmware file to drive (EXTREMELY DANGEROUS)
 --fwdownload-mode3      Download firmware using min-size segments (EXTREMELY DANGEROUS)
 --fwdownload-mode3-max  Download firmware using max-size segments (EXTREMELY DANGEROUS)
 --fwdownload-mode7      Download firmware using a single segment (EXTREMELY DANGEROUS)
 --idle-immediate  idle drive immediately
 --idle-unload     idle immediately and unload heads
 --Istdin          read identify data from stdin as ASCII hex
 --Istdout         write identify data to stdout as ASCII hex
 --make-bad-sector deliberately corrupt a sector directly on the media (VERY DANGEROUS)
 --prefer-ata12    use 12-byte (instead of 16-byte) SAT commands when possible
 --read-sector     read and dump (in hex) a sector directly from the media
 --security-help   display help for ATA security commands
 --trim-sectors    tell SSD firmware to discard unneeded data sectors (lba and count)
 --verbose         display extra diagnostics from some commands
 --write-sector    repair/overwrite a (possibly bad) sector directly on the media (VERY DANGEROUS)


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/30936525/viewspace-2018411/,如需轉載,請註明出處,否則將追究法律責任。

相關文章