- 论坛徽章:
- 0
|
hdparm -t /dev/hdx
hdparm 提 供 一 个 实 现 各 种硬盘控制动作的命令行接口,它由内建 Linux
IDE/ST-506设备驱动程序支持.要实现这种功能需要Linux 核心版本为1.2.13或更
高.在早期的核心下有一些选项可能不能正常工作.另外,一些选项只是为包含了新
的IDE设备驱动程序的核心所支持,像2.0.10版或者更高版本的核心.如果hdparm程
序 是在使用旧的核心文件(在目录usr/include/linux下)的机器上被编译的,这些
选项将无法获得.
-a 为文件系统提前获得/设置扇区号,可以用来改善连续读取大文件时的系统
性能,具体方式为提前读取额外的预期中正在运行的任务所需要的数据块.
在当前核心版本(2.0.10版)中默认设置为8个扇区(4KB).对于大多数用途,
这个值看起来不错,但在一个大多数文件访问行为是随机搜索的系统中,设
置一个小一些的值可能效果会更好.当然,很多 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 显示驱动器物理位置(柱面,磁头,扇区),设备的大小(以扇区为单位), 以
及相对于驱动器起始的设备偏移量(以扇区为单位).
-i 显示引导驱动器时获得的识别信息,如果有的话. 这是一种现代IDE驱 动
器 特性,可能不被较老式的设备支持. 返回的数据可能是或不是当前的,
这取决于自系统引导后的行为. 然而,当前的复合模式的扇区计数始终被
给 出. 要获得更多的关于识别信息的详细阐释,请查阅 AT Attachment
Interface for Disk Drives (ANSI ASC X3T9.2 working draft, revi-
sion 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标志. 设置为将锁住一些移动式 硬 驱 动 器( 像
Syquest,ZIP,Jazz..) 的门锁机构.设置为一般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 型?)的自动节能功能, 以防止它们在不 适当的时候空转或低速运转. |
|