Manpages

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-640BRZ1000 (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 [AT] pobox.com>, Linux (E)IDE 驅 動 程 序 的 主 要 開 發 者 和 維 護 者 編 寫 的 ,並 聽 取 了 很 多 網 友 的 建 議 . 關 閉 Seagate 自 動 節 能 的 代 碼 是 徵 得
Tomi Leppikangas(tomilepp [AT] paju.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