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