作者:lynxjack
hdparm命令详解
--------------------
hdparm 功能:获取/设置硬盘参数
语法:
hdparm [参数] [设备名] ..
说明(英文不太好,就不在此献丑啦,麻烦英文好的兄弟翻译一下):
hdparm provides a command line interface to various hard disk ioctls supported by the stock Linux ATA/IDE device driver subsystem. Some options may work correctly only with the latest kernels. For best results, compile hdparm with the include files from the latest kernel source code.
参数:
当没有给出参数时, -acdgkmnru 已经使用?
-a 获取/设置硬盘每个簇的大小,默认值是8(即每个簇大小为4KB)。
-A 禁用/开启IDE驱动器的 read-lookahead(不懂) 特性(默认是打开的)。
-b 获取/设置 bus state(不懂)。
-B 设置高级电源管理特性(APM),如果驱动器支持。一个较小的值意味着更省电?一个较大的值意味着更好的性能,将它设置为255将在指定驱动器上关闭APM。
-c 查询/开启 (E)IDE 32位 I/O 支持。加上一个数值可以开启或关闭它。一般设置为0,即禁用32位数据传输,为1则开启32位数据传输,为3则开启32位数据传输和一个特别传输序列,但会消耗一些系统资源。
-C 检查当前IDE电源模式,可以使用-S/-y/-Y/-Z等参数控制IDE电源模式。
-d 禁用/开启DMA。这个参加目前只能在并行IDE和PCI界面上,适当使用-X和-d1参数是个好主意,打开DMA可以获得最好的磁盘性能和降低CPU占用率。
-D 禁用/开启坏扇区管理特性。
-E 设置光驱速度,这不是必需的,因为光驱会自动调速,但是你如果想用它,可以设置一个数值,通常设置为2或4。
-f 为设备退出时同步和填满缓冲区,这个参数也会做-t和-T所做的事。
-g 显示驱动器几何值(柱面,磁头,扇区)和开始扇区。
-h 简要显示此命令的帮助信息。
-i 显示驱动器的基本信息。
-I 显示驱动器的详细信息。
-k 获取/设置“在重启后保持设置”,使用这个参数将使驱动器在软重启后保持-dmu选项(后面还有一大堆,不懂)
-K 获取/设置“在重启后保持设置”,使用这个参数将使驱动器在软重启后保持-APSWXZ选项,不是所有驱动器都支持这样做。
-L 锁住驱动器?(不懂)
-m 获取/设置在驱动器上为多扇区I/O计算扇区,开启这个参数将减少CPU开支30-50%,在大多数系统上它也能增加数据生产量?5-50%,使用这个参数会使某些型号的驱动器(如WD鱼子酱系列)减慢速度,大多数驱动器支持的最小数值可以是2,4,8,或16,更大也可以,视情况而定,大多数系统设置为16或32比较理想,WD的硬盘推荐设置为4到8,用-i参数可以看到当前硬盘的设置,某些驱动器要求支持复合模式,但在某些设置下会丢失数据。
-M 获取/设置自动噪音管理。很多驱动器支持使用磁盘降速的方法降噪,这个数值可以设置为从0至254,设置为128最为静音(速度最低),设置为254速度最快(噪音最大),某些驱动器自己规定两个级别(静音/快速),虽然你使用128至254之间的数值。
-n 获取或设置“忽略写错误”,最好不要使用在...(不懂)
-p 尝试重新调整IDE界面芯片指定的PIO模式,或自动设置为驱动器支持的最佳PIO模式,这个特性在内核中仅支持少数芯片,某些IDE芯片在单驱动器时不允许调整PIO模式,大多数IDE芯片或多或少地支持0到5的PIO模式。
-P 为驱动器的内部预读装置设置最大扇区,不是所有的驱动器都支持。
-q (不懂)。在使用-i 或-v或-t或-T时无效。
-Q 设置标记队列深度(1或更大),或关闭标记队列深度。这只能在2.5.xx或更新的内核中使用,目前还只有很少的驱动器支持它。
-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 测试读缓存的速度。
-t 也是测速度的。
-u 获取/设置???(不懂,晕)
-U 注销一个IDE界面,危险!
-v 显示使用-i未显示出的所有设置。
-w 执行设备重启(危险),一般不要用这个参数。
-W 禁用/开启IDE驱动器的写缓冲特性,默认设置为设备制造商指定的值。
-x (看不懂,危险)。
-X 为较新的(E)IDE/ATA驱动器设置IDE传输模式,与-d1参数一起使用,使用-X mdma2将开启多字DMA模式2传输,使用-X sdma1将开启单字DMA模式1传输,使用-X udma2将开启UltraDMA模式传输(需要芯片组支持)。现在很多IDE设备在启动时就已经自动调整到最佳的PIO模式,要使用此参数应该调整好-p参数,严重警告!这个数据是PIO模式值+8,即设置为09代表传输模式为PIO模式1,10即PIO模式2,11即PIO模式3,设置为00则恢复默认PIO模式,01代表禁用IORDY(什么是IORDY啊,晕),要开启mdma,这个数值是mdma模式值+32,要开启udma,这个数值是udma模式值+64,即66为udma2(ATA33),68为udma4(ATA66),69为udma5(ATA100,那么70应该是udma6即ATA133了?我猜测的)
-y 使IDE驱动器立即进入低耗电等待模式,用-C参数可以检查当前的耗电模式。
-Y 使IDE驱动器立即进入低耗电睡眠模式,用-C参数可以检查当前的耗电模式。
-z 让内核重新读取指定设备上的分区表。
-Z 禁用Segate驱动器的自动省电功能(ST3xxx型号),防止它们在一定时间后闲置。
已知问题
应当谨慎使用-m和-u1参数,最好在一个只读文件系统上使用。多数驱动器能够正常使用这些参数,但少数驱动器/控制器并不100%兼容,文件系统可能产生损坏,在尝试之前请备份好数据!
一些参数(如-r用在SCSI设备上)可能无法工作,因为在较旧的内核上可能不支持。
作者
hdparm 的主要作者是Mark Lord(
mlord@pobox.com),禁用Segate驱动器的自动省电功能的代码由Tomi Leppikangas创作(
tomilepp@paju.oulu.fi)。