HDPARM(8)

NAME
hdparm - 獲取/設置硬盤參數

總覽
hdparm [ -a [扇區數] ] [ -A [0|1] ] [ -c [芯片組模式] ] [ -C ] [ -d [0|1] ] [ -f ] [ -g ] [ -i ] [ -k [0|1] ] [ -K [0|1] ] [ -L [0|1] ] [ -m [扇區數] ] [ -p [0|1|2|3|4|5] ] [ -P [扇區數] ] [ -q ] [ -r [0|1] ] [ -S [超時] ] [ -T ] [ -t ] [ -u [0|1] ] [ -v ] [ -W [0|1] ] [ -X [傳輸模式] ] [ -y ] [ -Y ] [ -Z ] [設備] ..

描述
hdparm 提供一個實現各種硬盤控制動作的命令行接口,它由內建 Linux IDE/ST-506設備驅動程序支持.要實現這種功能需要Linux 核心版本爲1.2.13或更高.在早期的核心下有一些選項可能不能正 常工作.另外,一些選項只是爲包含了新的IDE設備驅動程序的核心 所支持,像2.0.10版或者更高版本的核心.如果hdparm程序是在使用 舊的核心文件(在目錄usr/include/linux下)的機器上被編譯的,這 些選項將無法獲得.

選項
當未給出標記時, -acdgkmnru 被作爲假設值 (除非一個給定的設備是SCSI設備或某種老式 XT型MFM/RLL,在這種情況下 -gr 和 -adgr 分別是默認值).

-a  爲文件系統提前獲得/設置扇區號,可以用來改善連續讀取大文件時的 系統性能,具體方式爲提前讀取額外的預期中正在運行的任務所需要的 數據塊.在當前核心版本(2.0.10版)中默認設置爲8個扇區(4KB).對於 大多數用途,這個值看起來不錯,但在一個大多數文件訪問行爲是隨機 搜索的系統中,設置一個小一些的值可能效果會更好.當然,很多 IDE驅動器也有一個獨立的內建的預讀功能,這在很多情況下可以緩解 對文件系統預讀功能的需求.

-A  關閉/打開IDE驅動器預讀功能(通常默認爲打開).

-c  查詢/打開(E)IDE 32-bit I/O 支持.一個數字的參數可以被用來 打開/關閉32-bit I/O 支持.當前支持的值包括 0 關閉 32-bit I/O 支持, 1 打開 32-bit 數據傳輸, 和 3 以一個芯片組要求的特殊的 sync 流程打開 32-bit data 傳輸. 值 3 幾乎對所有的32-bit IDE 芯片組起作用,但導致稍微多一些的系統開銷. 注意,32-bit數據傳輸僅僅用於通過PCI或VLB總線與接口卡的連接; 所有的IDE驅動器通過排線從接口卡獲得的連接僅爲16-bit.

-C  檢查當前IDE能耗模式狀態, 結果將是下面幾種之一 未知 (驅動器不支持此命令), 活動/閒置 (普通操作), 待機 (低能耗模式,驅動器待機), or 睡眠 (最低能耗模式, 驅動器被完全關閉). 選項 -S, -y, -Y, and -Z 用來操縱能耗模式.

-d  爲驅動器關閉/打開 "using_dma" 標誌. 此選項僅對一些支持 DMA並且對於IDE驅動程序來說是已知的驅動器-接口組合 (包括所有被支持的XT接口).特別的,Intel Triton 芯片組 能和很多驅動器一起實現總線控制 DMA 操作.(根據實驗).使用 -X34 選項與 -d1 選項組合確保驅動器自身是爲多字DMA模式2設計的. 使用DMA不一定對吞吐量或系統性能有改進,但很多人信賴它.

-E  設置光盤驅動器速度.對於一般性操作這不是必須的,因爲驅動器將自動地自 行選擇自己的速度.如果你想要使用它,就在選項後提供一個數字,通常是2或4.

-f  當設備退出時同步並刷新指針高速緩存.此操作也作爲選項 -t 和 -T 定時的一部分被執行

-g  顯示驅動器物理位置(柱面,磁頭,扇區),設備的大小(以扇區爲單位), 以及相對於驅動器起始的設備偏移量(以扇區爲單位).

-h  顯示簡要使用信息(幫助).

-i  顯示引導驅動器時獲得的識別信息,如果有的話. 這是一種現代IDE驅動器特性,可能不被較老式的設備支持. 返回的數據可能是或不是當前的,這取決於自系統引導後的行爲. 然而,當前的複合模式的扇區計數始終被給出. 要獲得更多的關於識別信息的詳細闡釋,請查閱 AT Attachment Interface for Disk Drives (ANSI ASC X3T9.2 working draft, revision 4a, April 19/93).

-I  直接從驅動器獲取識別信息, 並以原始的,未經過修改和更正的形式顯示. 否則便與選項 -i 相同.

-k  獲得/設置驅動器 keep_settings_over_reset 標誌. 當此標誌被設置,驅動程序將在一個軟性的重置後保護選項 -dmu (如同在出錯恢復流程中完成的那樣) 此標誌默認值爲關 , 以防止可能由與 -dmu 組合設置導致的驅動器重置循環. 選項 -k 應該僅在你確信用一組選定的設置進行正確的系統操作之後被設置. 實際中,校驗驅動器能夠讀/些並且在此過程中沒有出錯記錄(核心消息, 大多數系統上/var/adm/messages中),是測試一個配置(在用-k之前)必須的.

-K  設置驅動器的 keep_features_over_reset 標誌. 此項設置使驅動器在軟性重置後保留 -APSWXZ 標誌的設置 (如同在出錯恢復流程中完成的那樣). 並非所有的驅動器都支持此項特性.

-L  設置驅動器的doorlock標誌. 設置爲 1 將鎖住一些移動式硬驅動器(像 Syquest,ZIP,Jazz..)的 門鎖機構.設置爲 0 將解鎖.一般Linux根據驅動器用法自動維護門鎖機構.(當安裝一個文件 系統時鎖住).但在系統關閉時,如果根分區在一個移動式磁盤上, 可能會有麻煩,因爲在關閉後根分區仍在處在安裝狀態(只讀). 所以,使用這個命令在根文件系統以只讀的方式重新被安裝 後 ,用戶可以在關閉後從驅動器中移走磁盤.

-m  獲得/設置驅動器多重扇區I/O的扇區數.設置爲 0 關閉這項特性.多重扇區模式(aka IDE Block 模式),是大多數 現代硬盤驅動器的一項特性,它允許每次I/O中斷傳輸多個扇區, 而不是通常的一次中斷一個.當這項特性被打開時,操作系統 處理磁盤I/O的開銷降低30-50%.在許多系統上,它也會在任何 地方增加5% - 50% 的數據流量大多數驅動器支持最小的設置 爲2,4,8或,16個(扇區).較大的設置也可能存在,這取決於驅 動器.在許多系統上設置爲16或32看起來是最理想的. Western Digital在他們的許多驅動器上推薦設置爲4或8. 歸因於微小的(32kB)磁盤緩衝和非最優化的緩衝算法. 選項 -i 被用來查出一個已安裝驅動器支持的最大設置 (在輸出中查找 MaxMultSect 值).一些驅動器聲稱支持多重扇區模式, 但在某些設置下丟失數據.在極少的情況下,這樣的失敗會導致 嚴重的文件系統損壞.

-p  嘗試爲指定的PIO模式對IDE接口芯片重編程,或者嘗試爲驅動器支持 的最佳的PIO模式進行自動調整.核心中僅針對於一些"知名"的芯片組 支持這項特性,甚至這種支持不一定是最好的.一些IDE芯片組不能爲 一個單一的驅動器改變PIO模式,在這種情況下此選項可能導致PIO 模式的設置影響到 兩個 驅動器.許多IDE芯片組支持少於或多於標準的六個(0到5)PIO模式, 所以實際實現的精確速度設置將由芯片組和驅動器複雜的配合改變. 謹慎使用. 這項特性不包含任何針對不謹慎的保護措施,一個不成功的結果 可能導致 嚴重的文件系統損壞.

-P  爲驅動器的內部預讀機制設置最大扇區數. 不是所有的驅動器都支持這項特性.

-q  安靜的操作下一個標誌,壓制正常輸出. 當從/etc/rc.c/rc.local運行時,可用來減輕屏幕混亂程度. 不適用於 -i 或 -v 或 -t 或 -T 標誌.

-r  獲得/設置驅動器的只讀標誌.當被設置時,設備上的寫操作被禁止.

-R  登記一個IDE接口. 危險. 參見 -U 選項獲取更多信息.

-S  設置驅動器待機(低速運轉)超時值. 驅動器根據此值決定在關閉主軸電機以節約能耗之前等待多長 時間(沒有磁盤操作).在這種狀態下,驅動器可能需要來響應一 個接下來的磁盤訪問,雖然大多數驅動器要快很多.超時值的編 碼有些特別.值0表示"關".值1到240被指定爲5秒的倍數, 也就是超時可以從5秒到20分鐘.值241到251指定30分鐘的1到11倍, 也就是超時可以從30分鐘到5.5個小時.值252表示超時21分鐘, 253設置一個銷售商定義的超時,255表示21分15秒.

-T  用於以基準測試和比較爲目的的緩存讀取計時.要得到有意義的結果, 應該在內存不少於2M,系統沒有其它活動(沒有其它活動的程序) 的條件下,重複操作2-3次.它顯示了不存取磁盤直接從Linux緩存 讀取數據的速度.這項測量實際上標示了被測系統的處理器,緩存 和內存的吞吐量. 如果標誌 -t 也被指定,那麼一個基於 -T 輸出結果的修正量將被綜合到 -t 操作報告的結果中.

-t  用於以基準測試和比較爲目的的緩存讀取計時.要得到有意義的結果, 應該在內存不少於2M,系統沒有其它活動(沒有其它活動的程序) 的條件下,重複操作2-3次.它顯示了不使用預先的數據緩衝從磁盤 這項測量標示了Linux下沒有任何文件系統開銷時磁盤可以支持多快 的連續數據讀取.爲確保測量的精確,緩存在 -t 的過程中通過BLKFLSBUF控制被刷新. 如果標誌 -T 也被指定,那麼一個基於 -T 數促結果的修正量將被綜合到 -t 操作報告的結果中.

-u  獲得/設置驅動器"不屏蔽中斷"標誌.設置爲 1 允許驅動器在磁盤中斷處理過程中不屏蔽別的中斷, 它極大改善了Linux的響應性能,並排除了"串行端口溢出"錯誤. 謹慎使用: 一些驅動器/控制器組合不能承受可能是潛在的 I/O 增長, 而導致 嚴重的文件系統損壞. 特別, CMD-640B 和 RZ1000 (E)IDE 接口可能是 不可靠的 (由於某種硬件缺陷),當在早於 2.0.16 版本的核心下使用此選項時. 關閉這些接口的(通常通過設置BIOS/CMOS) IDE 預讀 特性可以安全的解決這個問題.

-U  註銷一個IDE接口. 危險. -R 的對應選項. 是爲特別設計用來做熱交換的硬件準備的(很罕見!). 使用時要有充分的知識和 非常的謹慎 ,因爲它很容易終止或破壞你的系統. hdparm 的源代碼包括一個 'contrib' 目錄,裏面有一些 用戶捐贈的在一臺 ThinkPad 600E的UltraBay上作熱交換的記錄. 自己去冒險吧.

-v  顯示所有的設置, 除了 -i (像 -acdgkmnru 對於 IDE, -gr 對於 SCSI 或 -adgr 對於 XT). 這也是未指定任何標誌時的默認操作.

-W  關閉/打開 IDE 驅動器的寫緩存特性 (通常默認爲 OFF ).

-X  爲較新的 (E)IDE/ATA2 驅動器設置 IDE 傳輸模式 . 特別是當在一個被支持的接口芯片組(像 Intel 430FX Triton) 上打開通向一個驅動器的DMA時與選項 -d1 組合使用,在這裏用 -X34 來選擇多字 DMA 模式2 傳輸. 對於支持 UltraDMA burst timings 的系統,用 -X66 來選擇 UltraDMA mode2 傳輸 (你需要在這之前爲 UltraDMA 準備好被支持的芯片組). 另外, 幾乎沒有必要 使用此標誌,因爲大多數/全部現代 IDE 驅動器默認它們最快的
     PIO 傳輸模式爲打開. 所以擺弄它是沒有必要的也是冒險的. 在支持 alternate 傳輸模式的驅動器上, -X 可以被 僅 用來選擇模式. 在改變傳輸模式之前, 應該爲新模式的設置給 IDE 接口跳線或編程(見 -p 標誌) 以防止數據的丟失或損壞. 請非常小心地使用它! 對於 Linux 使用的 PIO 傳輸模式,此值就是要求的 PIO 模式號加 8. 這樣, 值 09 設置 PIO mode1, 10 設置 PIO mode2,
     11 設置 PIO mode3. 設置爲 00 還原驅動器的默認 PIO 模式, 01 關閉 IORDY. 對於多字 DMA, 使用的值時要求的 DMA 模式號加 32. 對於 UltraDMA ,相應的值是要求 UltraDMA 模式號加64.

-y  迫使一個 IDE 驅動器立即進入低能耗 待機 模式, 通常使它低速運轉. 當前能耗模式狀態可以用 -C 標誌來檢查.

-Y  迫使一個 IDE 驅動器立即進入最低能耗 睡眠 模式, 使它完全關閉. 一個來自硬件或軟件的重置 可以重新喚醒驅動器. ( 如果需要,Linux IDE 驅動器將自動產生一個重置 ).

-Z  關閉某些 Seagate 驅動器(STxxx 型?)的自動節能功能, 以防止它們在不適當的時候空轉或低速運轉.

BUGS
像上面提到的, -m 扇區數 和 -u 1 選項尤其要小心使用, 最好在一個只讀文件系統上使用. 大多數驅動器和這些特性配合得很好,但有一些驅動器/控制器 組合不是100%兼容的.使用可能導致文件系統損壞. 請在實驗之前給所有的數據作備份!

某些選項 (例如: -r 對於 SCSI) 可能在舊的核心下因爲核心不 支持必要的 icctl() 而不能工作.

雖然這個命令只是爲使用 (E)IDE 硬盤設備準備的,但有幾個選項 也能夠(允許)用於帶有 XT 接口的 SCSI 硬盤設備和 MFM/RLL 硬盤.

作者
hdparm 是由 Mark Lord <mlord@pobox.com>, Linux (E)IDE 驅動程序 的主要開發者和維護者編寫的,並聽取了很多網友的建議.

關閉 Seagate 自動節能的代碼是徵得
 Tomi Leppikangas(tomilepp@paju.oulu.fi)允許使用的.

另見
AT Attachment Interface for Disk Drives, ANSI ASC X3T9.2 working draft, revision 4a, April 19, 1993.

AT Attachment Interface with Extensions (ATA-2), ANSI ASC X3T9.2 working draft, revision 2f, July 26, 1994.

Western Digital Enhanced IDE Implementation Guide, by Western Digital Corporation, revision 5.0, November 10, 1993.

Enhanced Disk Drive Specification, by Phoenix Technologies Ltd., version 1.0, January 25, 1994.

跋
本頁面中文版由中文 man 手冊頁計劃提供。
中文 man 手冊頁計劃：https://github.com/man-pages-zh/manpages-zh