“?hdparm?”(即硬盤(pán)參數(shù))是Linux的命令行程序之一,用于處理磁盤(pán)設(shè)備和硬盤(pán)。借助此命令,您可以獲得有關(guān)硬盤(pán),更改寫(xiě)入間隔,聲學(xué)管理和DMA設(shè)置的統(tǒng)計(jì)信息。它還可以設(shè)置與驅(qū)動(dòng)器高速緩存,睡眠模式,電源管理,聲學(xué)管理和DMA設(shè)置相關(guān)的參數(shù)。
安裝hdparm
[root@instance-z78bdmwa ~]# yum install hdparm -y?L
句法:
hdparm [選項(xiàng)] [設(shè)備]
注意:如果未指定標(biāo)志,則假定為acdgkmnru。
選項(xiàng):
-a:用于獲取/設(shè)置文件系統(tǒng)預(yù)讀部分的枚舉,該部分用于增強(qiáng)對(duì)大小文件的不間斷讀取的完成。
-A:它禁用/啟用IDE驅(qū)動(dòng)器的read-look-ahead屬性,該屬性通常在默認(rèn)情況下正常運(yùn)行。
-b:用于獲取/設(shè)置總線狀態(tài),其中,(0 ==關(guān),1 ==開(kāi),2 = =三態(tài))。
-B:它用于設(shè)置高級(jí)電源管理(APM)特性,但僅限于驅(qū)動(dòng)器可以承受它。如果它的值很低那么APM是暴力的,如果值很高那么它會(huì)給出更好的成就。要禁用APM,您需要將值設(shè)置為255。
-c:它查詢(xún)/啟用(E)IDE 32位I / O支持。這里,32位暗示通過(guò)PCI或VLB總線傳輸輸入。
-C:用于檢查正在進(jìn)行的IDE電源模式位置。標(biāo)志-S,-Y,-y和-Z用于以熟練的方式控制IDE電源技術(shù)。
-d:禁用或啟用“DMA”驅(qū)動(dòng)器使用的標(biāo)志。它通過(guò)結(jié)合驅(qū)動(dòng)器和PCI來(lái)運(yùn)行。
-D:?jiǎn)⒂没蚪抿?qū)動(dòng)器缺陷管理屬性。
-E:設(shè)置SD / DVD驅(qū)動(dòng)器速度。為了使其工作,您需要在選項(xiàng)之后分配速度編號(hào)。通常,使用的數(shù)量是兩個(gè)或四個(gè)。
-f:用于在其插座上同步和清除設(shè)備的緩沖區(qū)高速緩存。該性能可以作為-t和-T時(shí)序的一部分執(zhí)行。
-g:用于顯示驅(qū)動(dòng)器的配置,驅(qū)動(dòng)器的擴(kuò)展以及設(shè)備從驅(qū)動(dòng)器起始點(diǎn)的起始偏移量。
-h:顯示幫助信息并退出。
-i:這會(huì)顯示在啟動(dòng)時(shí)從驅(qū)動(dòng)器獲取的識(shí)別數(shù)據(jù)。
-I:它直接從驅(qū)動(dòng)器中搜索識(shí)別數(shù)據(jù),它顯示的功能比-i標(biāo)志更多。
-k:這有助于獲取/設(shè)置驅(qū)動(dòng)器的keep_settings_over_reset標(biāo)志。
-K:設(shè)置驅(qū)動(dòng)器的keep_features_over_reset標(biāo)志。并非所有驅(qū)動(dòng)器都提供此功能。
-m:用于獲取/設(shè)置驅(qū)動(dòng)器上多個(gè)扇區(qū)I / O的扇區(qū)數(shù)。要禁用此功能,您需要將值設(shè)置為零。
-M:這有助于獲取/設(shè)置自動(dòng)聲學(xué)管理(AAM)設(shè)置。此功能是實(shí)驗(yàn)性的,未經(jīng)過(guò)有效測(cè)試,因此必須自行承擔(dān)使用風(fēng)險(xiǎn)。
-n:用于獲取/設(shè)置“?忽略寫(xiě)錯(cuò)誤?”標(biāo)志。如果不首先解碼驅(qū)動(dòng)程序的源代碼,就不應(yīng)該使用此功能。
-r:用于獲取/設(shè)置設(shè)備的只讀標(biāo)志。設(shè)置此選項(xiàng)后,設(shè)備上不會(huì)批準(zhǔn)寫(xiě)入操作。
-S:設(shè)置驅(qū)動(dòng)器的待機(jī)超時(shí)。當(dāng)該值設(shè)置為零時(shí),它將關(guān)閉。
-T:它執(zhí)行高速緩存讀取的時(shí)序,用于標(biāo)準(zhǔn)和差異化目的。它在沒(méi)有訪問(wèn)磁盤(pán)的情況下直接從Linux緩存的緩沖區(qū)中讀取讀取速度,您需要執(zhí)行此操作兩到三次以獲得更好的結(jié)果。
-t:這與-T標(biāo)志具有相同的目的,除了它在沒(méi)有任何先前的輸入緩存的情況下揭示通過(guò)緩沖區(qū)高速緩存讀取到磁盤(pán)的速度。如果此處也定義了-T標(biāo)志,則在-T操作時(shí)出現(xiàn)的結(jié)果中將包括在-T后果上完成的整流。
-u:當(dāng)值設(shè)置為1時(shí),它用于獲取/設(shè)置驅(qū)動(dòng)器的中斷 - 取消屏蔽標(biāo)志,然后驅(qū)動(dòng)程序可以取消屏蔽磁盤(pán)中斷處理中發(fā)生的其他干預(yù)。此屬性可能導(dǎo)致巨大的文件系統(tǒng)損壞,因此使用風(fēng)險(xiǎn)自負(fù)。
-v:這會(huì)顯示除-i之外的所有設(shè)置。
-w:它有助于設(shè)備重置。
-W:它禁用/啟用IDE驅(qū)動(dòng)器的寫(xiě)入緩存特性。
-y:它強(qiáng)制IDE驅(qū)動(dòng)器立即進(jìn)入低功耗待機(jī)模式,通常會(huì)導(dǎo)致它停止運(yùn)轉(zhuǎn)。可以使用-C標(biāo)志檢查當(dāng)前的電源模式狀態(tài)。
-Y:這會(huì)使IDE加壓以中斷進(jìn)入低功耗睡眠模式,以便完全關(guān)閉它,這里可以在-C標(biāo)志的幫助下檢測(cè)當(dāng)前的電源模式狀態(tài)。
-z:這會(huì)強(qiáng)制內(nèi)核重新讀取指定設(shè)備的分區(qū)表。
-Z:禁用自動(dòng)節(jié)電功能。
例子:
用于顯示硬盤(pán)驅(qū)動(dòng)器信息的命令:這是顯示硬盤(pán)驅(qū)動(dòng)器詳細(xì)信息的最重要功能之一,您需要在此處使用-I選項(xiàng)和硬盤(pán)驅(qū)動(dòng)器。
[root@baremetal-2-113 ~]# hdparm -I /dev/vda
/dev/sda:
SG_IO: bad/missing sense data, sb[]:? 70 00 05 00 00 00 00 0d 00 00 00 00 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ATA device, with non-removable media
Standards:
Likely used: 1
Configuration:
Logical max current
cylinders 0 0
heads 0 0
sectors/track 0 0
--
Logical/Physical Sector size: ????????? 512 bytes
device size with M = 1024*1024: ????????? 0 MBytes
device size with M = 1000*1000: ????????? 0 MBytes?
cache/buffer size? = unknown
Capabilities:
IORDY not likely
Cannot perform double-word IO
R/W multiple sector transfer: not supported
DMA: not supported
PIO: pio0?
用于顯示所有選項(xiàng)的命令:
[root@instance-z78bdmwa ~]# hdparm -h
hdparm - get/set hard disk parameters - version v9.43, by Mark Lord.
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
?-J ? Get/set Western DIgital "Idle3" timeout for a WDC "Green" drive (DANGEROUS)
?-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 multiple sector count
?-M ? Get/set acoustic management (0-254, 128: quiet, 254: fast)
?-n ? Get/set ignore-write-errors flag (0/1)
?-N ? Get/set max visible number of sectors (HPA) (VERY DANGEROUS)
?-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 ? Get/set device write-read-verify flag
?-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 ? Use 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 ? Re-read partition table
?-Z ? Disable Seagate auto-powersaving mode
用于測(cè)試硬盤(pán)驅(qū)動(dòng)器速度的命令:
[root@instance-z78bdmwa ~]# hdparm -t /dev/vda
/dev/vda:
?Timing buffered disk reads: 374 MB in? 3.01 seconds = 124.35 MB/sec
測(cè)量硬盤(pán)緩存讀取速度的命令:
[root@instance-z78bdmwa ~]# hdparm -T /dev/vda
/dev/vda:
?Timing cached reads: ? 16566 MB in? 2.00 seconds = 8292.96 MB/sec
啟用預(yù)讀的命令:
[root@instance-z78bdmwa ~]# hdparm -A 1 /dev/vda
用于將驅(qū)動(dòng)器切換到最低功耗管理的命令:
[root@instance-z78bdmwa ~]# hdparm -B 254 /dev/vda
獲取當(dāng)前設(shè)置的命令:
[root@instance-z78bdmwa ~]# hdparm -d /dev/vda
為設(shè)備設(shè)置DMA的命令:
[root@instance-z78bdmwa ~]# hdparm -d1 /dev/vda
通過(guò)降低磁盤(pán)性能來(lái)降低某些傳統(tǒng)硬盤(pán)產(chǎn)生的噪音的命令:
[root@instance-z78bdmwa ~]# hdparm -M 128 /dev/vda
檢測(cè)硬盤(pán)的電源管理模式:
[root@instance-z78bdmwa ~]# hdparm -C /dev/vda
查詢(xún)并設(shè)置硬盤(pán)多重扇區(qū)存取的扇區(qū)數(shù),以增進(jìn)硬盤(pán)的存取效率:
[root@instance-z78bdmwa ~]# hdparm -m /dev/vda
附:硬盤(pán)壞道修復(fù)方法
檢查:smartctl -l selftest /dev/vda
卸載:umount /dev/vda*
修復(fù):badblocks /dev/vda
關(guān)于運(yùn)維學(xué)習(xí)、分享、交流,筆者開(kāi)通了微信公眾號(hào)【運(yùn)維貓】,感興趣的朋友可以關(guān)注下,歡迎加入,建立屬于我們自己的小圈子,一起學(xué)運(yùn)維知識(shí)。