hdparm 中文手册

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标志. 设置为 将锁住一些移动式硬驱动器(像 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 型?)的自动节能功能, 以防止它们在不适当的时候空转或低速运转.

BUGS

像上面提到的, -m 扇区数 和 -u 1 选项尤其要小心使用, 最好在一个只读文件系统上使用. 大多数驱动器和这些特性配合得很好,但有一些驱动器/控制器 组合不是100%兼容的.使用可能导致文件系统损坏. 请在实验之前给所有的数据作备份!

某些选项 (例如: -r 对于 SCSI) 可能在旧的核心下因为核心不 支持必要的 icctl() 而不能工作.

虽然这个命令只是为使用 (E)IDE 硬盘设备准备的,但有几个选项也能够(允许)用于带有 XT 接口的 SCSI 硬盘设备和 MFM/RLL 硬盘.

作者

hdparm 是由 Mark Lord , Linux (E)IDE 驱动程序 的主要开发者和维护者编写的,并听取了很多网友的建议.

关闭 Seagate 自动节能的代码是征得

Tomi Leppikangas(

[email protected]

)允许使用的.

Linux命令:hdparm

功能说明:显示与设定硬盘的参数。

语  法:hdparm [-CfghiIqtTvyYZ][-a ][-A ][-c ][-d ][-k ][-K ][-m

分区数>][-n ][-p ][-P ][-r ][-S

][-u ][-W ][-X ][设备]

补充说明:hdparm可检测,显示与设定IDE或SCSI硬盘的参数。

参  数:

-a   设定读取文件时,预先存入块区的分区数,若不加上选项,则显示目前的设定。

-A   启动或关闭读取文件时的快取功能。

-c   设定IDE32位I/O模式。

-C   检测IDE硬盘的电源管理模式。

-d   设定磁盘的DMA模式。

-f   将内存缓冲区的数据写入硬盘,并清楚缓冲区。

-g   显示硬盘的磁轨,磁头,磁区等参数。

-h   显示帮助。

-i   显示硬盘的硬件规格信息,这些信息是在开机时由硬盘本身所提供。

-I   直接读取硬盘所提供的硬件规格信息。

-k   重设硬盘时,保留-dmu参数的设定。

-K   重设硬盘时,保留-APSWXZ参数的设定。

-m   设定硬盘多重分区存取的分区数。

-n   忽略硬盘写入时所发生的错误。

-p   设定硬盘的PIO模式。

-P   设定硬盘内部快取的分区数。

-q   在执行後续的参数时,不在屏幕上显示任何信息。

-r   设定硬盘的读写模式。

-S   设定硬盘进入省电模式前的等待时间。

-t   评估硬盘的读取效率。

-T   平谷硬盘快取的读取效率。

-u   在硬盘存取时,允许其他中断要求同时执行。

-v   显示硬盘的相关设定。

-W   设定硬盘的写入快取。

-X   设定硬盘的传输模式。

-y   使IDE硬盘进入省电模式。

-Y   使IDE硬盘进入睡眠模式。

-Z   关闭某些Seagate硬盘的自动省电功能。

hdparm 中文手册

时间: 2024-08-02 11:56:25

hdparm 中文手册的相关文章

《开源分享1》:前端开发必备《Html-CSS中文手册》

一直想做一些优秀的资源分享内容,今天尝试整理了一下,以后会每天抽点时间发一些自认为不错的资料出来.帮助大家提高学习效率. 今天分享的内容:前端开发:<Html-CSS中文手册>! 本手册针对的是已有一定网页设计制作经验的读者.其目的是提供完整清晰的样式表内容的快速索引及进阶帮助.所以对于网页制作和样式表的基础知识,仅简单介绍,恕不赘述. 手册提供了完整的 CSS2.0 的属性(Properties).规则(At-Rules).伪类(Pseudo-Classes).伪元素(Pseudo-Elem

Nginx中文手册

下载 : Nginx 中文手册 Nginx 常见应用技术指南[Nginx Tips] 第二版 作者:NetSeek http://www.linuxtone.org (IT运维专家网|集群架构|性能调优) 目 录 一. Nginx 基础知识 二. Nginx 安装及调试 三. Nginx Rewrite 四. Nginx Redirect 五. Nginx 目录自动加斜线: 六. Nginx Location 七. Nginx expires 八. Nginx 防盗链 九. Nginx 访问控制

极其简便的PHP HTML DOM解析器PHP Simple HTML DOM Parser/有中文手册

极其简便的PHP HTML DOM解析器PHP Simple HTML DOM Parser,有中文手册,对于需要分析HTML代码dom结构的php开发者来说,是一个极其有用的函数库,使用Jquery风格的dom节点查找语法,强烈推荐. 下面是其"快速入门",从中文手册里节选而来 //从一个URL或者文件创建一个DOM对象$html = file_get_html('http://www.google.cn/'); // 寻找所有的img标签foreach($html->find

Swift中文手册 -- Subscripts

附属脚本 附属脚本 可以定义在类(Class).结构体(structure)和枚举(enumeration)这些目标中,可以认为是访问对象.集合或序列的快捷方式,不需要再调用实例的特定的赋值和访问方法.举例来说,用附属脚本访问一个数组(Array)实例中的元素可以这样写someArray[index] ,访问字典(Dictionary)实例中的元素可以这样写 someDictionary[key]. 对于同一个目标可以定义多个附属脚本,通过索引值类型的不同来进行重载,而且索引值的个数可以是多个.

Swift中文手册 -- Enumerations

枚举 (Enumerations) 枚举为一系相关联的值定义了一个公共的组类型.同时能够让你在编程的时候在类型安全的情况下去使用这些值. 如果你对C语言很熟悉,你肯定知道在C语言中枚举类型就是一系列具有被指定有关联名称的的整数值.但在Swift中枚举类型就更加灵活了,并且你不必给枚举类型中的每个成员都赋值.如果把一个值(假设值为"raw")提供给所有的枚举类型当中的成员,那么这个值可以是一个字符串,一个字符,一个整数或者说是一个浮点数. 作为选择,枚举中的成员可以被特别指定为任何不同于

socket.io 中文手册 socket.io 中文文档

socket.io 中文手册,socket.io 中文文档转载于:http://www.cnblogs.com/xiezhengcai/p/3956401.html 服务端 io.on('connection',function(socket));//监听客户端连接,回调函数会传递本次连接的socket io.sockets.emit('String',data);//给所有客户端广播消息 io.sockets.socket(socketid).emit('String', data);//给指

phpredis中文手册(转)

本文是参考<redis中文手册>,将示例代码用php来实现,注意php-redis与redis_cli的区别(主要是返回值类型和参数用法). 目录(使用CTRL+F快速查找命令): Key String Hash List Set 键(Key) DEL KEYS RANDOMKEY TTL EXISTS MOVE RENAME RENAMENX TYPE EXPIRE EXPIREAT OBJECT PERSIST SORT 字符串(String) SET SETNX SETEX SETRAN

GNU Make中文手册(一)

GNU Make 翻译:loverszhaokai 最新版文档请参考github: https://github.com/loverszhaokai/GNUMakeManual_CN 欢迎大家提出修改意见!谢谢!自由加油!   原文:https://www.gnu.org/software/make/manual/ 参考: 1.     徐海兵 http://www.yayu.org/book/gnu_make/ 2.      陈皓   http://blog.csdn.net/haoel/a

Swift中文手册 -- Initialization

构造过程(Initialization) 构造过程是为了使用某个类.结构体或枚举类型的实例而进行的准备过程.这个过程包含了为实例中的每个属性设置初始值和为其执行必要的准备和初始化任务. 构造过程是通过定义构造器(Initializers)来实现的,这些构造器可以看做是用来创建特定类型实例的特殊方法.与 Objective-C 中的构造器不同,Swift 的构造器无需返回值,它们的主要任务是保证新实例在第一次使用前完成正确的初始化. 类实例也可以通过定义析构器(deinitializer)在类实例