hdparm(8) - Online Manual Page Of Unix/Linux

  Command: man perldoc info search(apropos)

WebSearch:
Our Recommended Sites: Full-Featured Editor
 

HDPARM(8)                                                                               HDPARM(8)



NAME
       hdparm - get/set hard disk parameters

SYNOPSIS
       hdparm [ flags ] [device] ..

DESCRIPTION
       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 lat-
       est kernel source code.

OPTIONS
       When no flags are given, -acdgkmnru is assumed.

       -a     Get/set sector count for filesystem read-ahead.  This is used  to  improve  perfor-
              mance  in  sequential  reads  of  large  files, by prefetching additional blocks in
              anticipation of them being needed by the running task.  In the current kernel  ver-
              sion (2.0.10) this has a default setting of 8 sectors (4KB).  This value seems good
              for most purposes, but in a system where most file accesses  are  random  seeks,  a
              smaller  setting might provide better performance.  Also, many IDE drives also have
              a separate built-in read-ahead function, which alleviates the need for a filesystem
              read-ahead in many situations.

       -A     Disable/enable  the  IDE  drive's  read-lookahead  feature (usually ON by default).
              Usage: -A0 (disable) or -A1 (enable).

       -b     Get/set bus state.

       -B     Set Advanced Power Management feature, if the drive supports it. A low value  means
              aggressive  power  management and a high value means better performance. A value of
              255 will disable apm on the drive.

       -c     Query/enable (E)IDE 32-bit I/O  support.   A  numeric  parameter  can  be  used  to
              enable/disable  32-bit I/O support: Currently supported values include 0 to disable
              32-bit I/O support, 1 to enable 32-bit data transfers, and 3 to enable 32-bit  data
              transfers  with  a  special  sync  sequence required by many chipsets.  The value 3
              works with nearly all 32-bit IDE chipsets, but incurs slightly more overhead.  Note
              that  "32-bit"  refers  to  data transfers across a PCI or VLB bus to the interface
              card only; all (E)IDE drives still have only a 16-bit connection  over  the  ribbon
              cable from the interface card.

       -C     Check the current IDE power mode status, which will always be one of unknown (drive
              does not support this command), active/idle (normal operation), standby (low  power
              mode,  drive  has  spun  down), or sleeping (lowest power mode, drive is completely
              shut down).  The -S, -y, -Y, and -Z flags can be used to manipulate the  IDE  power
              modes.

       -d     Disable/enable  the  "using_dma"  flag  for this drive.  This option now works with
              most combinations of drives and PCI interfaces which  support  DMA  and  which  are
              known  to  the IDE driver.  It is also a good idea to use the appropriate -X option
              in combination with -d1 to ensure that the drive itself is programmed for the  cor-
              rect  DMA mode, although most BIOSs should do this for you at boot time.  Using DMA
              nearly always gives the best performance, with fast  I/O  throughput  and  low  CPU
              usage.   But  there  are  at  least a few configurations of chipsets and drives for
              which DMA does not make much of a difference, or may  even  slow  things  down  (on
              really messed up hardware!).  Your mileage may vary.

       -D     Enable/disable  the  on-drive defect management feature, whereby the drive firmware
              tries to automatically manage defective sectors by relocating them to "spare"  sec-
              tors reserved by the factory for such.

       -E     Set  cdrom  speed.   This is NOT necessary for regular operation, as the drive will
              automatically switch speeds on its own.  But if you want to play with it, just sup-
              ply a speed number after the option, usually a number like 2 or 4.

       -f     Sync  and  flush  the  buffer cache for the device on exit.  This operation is also
              performed as part of the -t and -T timings.

       -g     Display the drive geometry (cylinders, heads, sectors), the size  (in  sectors)  of
              the  device,  and the starting offset (in sectors) of the device from the beginning
              of the drive.

       -h     Display terse usage information (help).

       -i     Display the identification info that was obtained from the drive at boot  time,  if
              available.   This  is  a  feature of modern IDE drives, and may not be supported by
              older devices.  The data returned may or may not be current, depending on  activity
              since  booting  the  system.   However,  the  current multiple sector mode count is
              always shown.  For a more detailed interpretation of the identification info, refer
              to AT Attachment Interface for Disk Drives (ANSI ASC X3T9.2 working draft, revision
              4a, April 19/93).

       -I     Request identification info directly from the drive, which is displayed  in  a  new
              expanded format with considerably more detail than with the older -i flag.

       -Istdin
              This  is a special "no seatbelts" variation on the -I option, which accepts a drive
              identification block as standard input instead of using a /dev/hd* parameter.   The
              format   of   this   block   must  be  exactly  the  same  as  that  found  in  the
              /proc/ide/*/hd*/identify "files", or that produced by the -Istdout option described
              below.   This  variation  is  designed  for use with collected "libraries" of drive
              identification information, and can also be used on ATAPI  drives  which  may  give
              media errors with the standard mechanism.

       -Istdout
              This option simply dumps the identify data in hex to stdout, in a format similar to
              that from /proc/, and suitable for later use with the -Istdin option.

       -k     Get/set the keep_settings_over_reset flag for the drive.  When this  flag  is  set,
              the  driver  will  preserve the -dmu options over a soft reset, (as done during the
              error recovery sequence).  This flag defaults to off, to prevent drive reset  loops
              which  could be caused by combinations of -dmu settings.  The -k flag should there-
              fore only be set after one has achieved confidence in correct system operation with
              a  chosen set of configuration settings.  In practice, all that is typically neces-
              sary to test a configuration (prior to using -k) is to verify that the drive can be
              read/written, and that no error logs (kernel messages) are generated in the process
              (look in /var/adm/messages on most systems).

       -K     Set the drive's keep_features_over_reset flag.  Setting this enables the  drive  to
              retain  the settings for -APSWXZ over a soft reset (as done during the error recov-
              ery sequence).  Not all drives support this feature.

       -L     Set the drive's doorlock flag.  Setting this to 1 will lock the door  mechanism  of
              some  removable  hard  drives  (eg. Syquest, ZIP, Jazz..), and setting it to 0 will
              unlock the door mechanism.  Normally, Linux maintains the  door  locking  mechanism
              automatically,  depending on drive usage (locked whenever a filesystem is mounted).
              But on system shutdown, this can be a nuisance  if  the  root  partition  is  on  a
              removeable  disk,  since the root partition is left mounted (read-only) after shut-
              down.  So, by using this command to unlock the door after the  root  filesystem  is
              remounted  read-only,  one can then remove the cartridge from the drive after shut-
              down.

       -m     Get/set sector count for multiple sector I/O on the drive.  A setting of 0 disables
              this feature.  Multiple sector mode (aka IDE Block Mode), is a feature of most mod-
              ern IDE hard drives, permitting the transfer of multiple sectors per I/O interrupt,
              rather  than  the usual one sector per interrupt.  When this feature is enabled, it
              typically reduces operating system overhead  for  disk  I/O  by  30-50%.   On  many
              systems,  it  also  provides  increased data throughput of anywhere from 5% to 50%.
              Some drives, however (most notably the WD Caviar series), seem to run  slower  with
              multiple  mode  enabled.   Your  mileage may vary.  Most drives support the minimum
              settings of 2, 4, 8, or 16  (sectors).   Larger  settings  may  also  be  possible,
              depending  on  the  drive.   A  setting  of 16 or 32 seems optimal on many systems.
              Western Digital recommends lower settings of 4 to 8 on many of  their  drives,  due
              tiny  (32kB) drive buffers and non-optimized buffering algorithms.  The -i flag can
              be used to find the maximum setting supported by an installed drive (look for  Max-
              MultSect in the output).  Some drives claim to support multiple mode, but lose data
              at some settings.  Under rare circumstances, such failures can  result  in  massive
              filesystem corruption.

       -M     Get/set  Automatic  Acoustic  Management (AAM) setting. Most modern harddisk drives
              have the ability to speed down the head movements to  reduce  their  noise  output.
              The  possible  values  are  between 0 and 254. 128 is the most quiet (and therefore
              slowest) setting and 254 the fastest (and loudest). Some drives have only two  lev-
              els  (quiet  /  fast),  while others may have different levels between 128 and 254.
              THIS FEATURE IS EXPERIMENTAL AND NOT WELL TESTED. USE AT YOUR OWN RISK.

       -n     Get or set the "ignore write errors" flag in the driver.  Do  NOT  play  with  this
              without grokking the driver source code first.

       -p     Attempt  to  reprogram  the  IDE  interface  chipset for the specified PIO mode, or
              attempt to auto-tune for the "best" PIO mode supported by the drive.  This  feature
              is  supported in the kernel for only a few "known" chipsets, and even then the sup-
              port is iffy at best.  Some IDE chipsets are unable to alter the  PIO  mode  for  a
              single  drive, in which case this flag may cause the PIO mode for both drives to be
              set.  Many IDE chipsets support either fewer or more than the standard six (0 to 5)
              PIO  modes,  so  the  exact speed setting that is actually implemented will vary by
              chipset/driver sophistication.  Use with extreme caution!   This  feature  includes
              zero  protection  for  the unwary, and an unsuccessful outcome may result in severe
              filesystem corruption!

       -P     Set the maximum sector count for the drive's internal prefetch mechanism.  Not  all
              drives support this feature.

       -q     Handle the next flag quietly, suppressing normal output.  This is useful for reduc-
              ing screen clutter when running from system startup scripts.  Not applicable to the
              -i or -v or -t or -T flags.

       -Q     Set  tagged  queue depth (1 or greater), or turn tagged queuing off (0).  This only
              works with the newer 2.5.xx (or later) kernels, and only with the few  drives  that
              currently support it.

       -r     Get/set  read-only flag for the device.  When set, Linux disallows write operations
              on the device.

       -R     Register an IDE interface.  Dangerous.  See the -U option for more information.

       -S     Set the standby (spindown) timeout for the drive.  This value is used by the  drive
              to  determine how long to wait (with no disk activity) before turning off the spin-
              dle motor to save power.  Under such circumstances, the drive may take as  long  as
              30  seconds  to  respond  to  a subsequent disk access, though most drives are much
              quicker.  The encoding of the timeout value is somewhat peculiar.  A value of  zero
              means  "timeouts  are  disabled":  the  device will not automatically enter standby
              mode.  Values from 1 to 240 specify multiples of 5 seconds, yielding timeouts  from
              5  seconds  to 20 minutes.  Values from 241 to 251 specify from 1 to 11 units of 30
              minutes, yielding timeouts from 30 minutes to 5.5 hours.  A value of 252  signifies
              a  timeout  of  21  minutes.  A  value  of 253 sets a vendor-defined timeout period
              between 8 and 12 hours, and the value 254 is reserved.  255 is  interpreted  as  21
              minutes  plus  15  seconds.   Note  that  some older drives may have very different
              interpretations of these values.

       -T     Perform timings of cache reads for benchmark and comparison purposes.  For meaning-
              ful  results,  this operation should be repeated 2-3 times on an otherwise inactive
              system (no other active processes) with at least a  couple  of  megabytes  of  free
              memory.   This  displays  the speed of reading directly from the Linux buffer cache
              without disk access.  This measurement is essentially an indication of the through-
              put  of  the processor, cache, and memory of the system under test.  If the -t flag
              is also specified, then a correction factor based on the  outcome  of  -T  will  be
              incorporated into the result reported for the -t operation.

       -t     Perform  timings  of device reads for benchmark and comparison purposes.  For mean-
              ingful results, this operation should be repeated 2-3 times on an  otherwise  inac-
              tive system (no other active processes) with at least a couple of megabytes of free
              memory.  This displays the speed of reading through the buffer cache  to  the  disk
              without  any  prior caching of data.  This measurement is an indication of how fast
              the drive can sustain sequential data reads under  Linux,  without  any  filesystem
              overhead.   To ensure accurate measurements, the buffer cache is flushed during the
              processing of -t using the BLKFLSBUF ioctl.  If the -T flag is also specified, then
              a correction factor based on the outcome of -T will be incorporated into the result
              reported for the -t operation.

       -u     Get/set interrupt-unmask flag for the drive.  A setting of 1 permits the driver  to
              unmask  other  interrupts  during  processing  of  a  disk interrupt, which greatly
              improves Linux's responsiveness and eliminates "serial port overrun"  errors.   Use
              this  feature  with caution: some drive/controller combinations do not tolerate the
              increased I/O latencies possible when this feature is enabled, resulting in massive
              filesystem corruption.  In particular, CMD-640B and RZ1000 (E)IDE interfaces can be
              unreliable (due to a hardware flaw) when this option is used with  kernel  versions
              earlier  than 2.0.13.  Disabling the IDE prefetch feature of these interfaces (usu-
              ally a BIOS/CMOS setting) provides a safe fix for the problem for use with  earlier
              kernels.

       -U     Un-register  an  IDE  interface.   Dangerous.   The  companion  for  the -R option.
              Intended for use with hardware made specifically  for  hot-swapping  (very  rare!).
              Use  with knowledge and extreme caution as this can easily hang or damage your sys-
              tem.  The hdparm source distribution includes a 'contrib' directory with some user-
              donated  scripts  for hot-swapping on the UltraBay of a ThinkPad 600E.  Use at your
              own risk.

       -v     Display all settings, except -i (same as -acdgkmnru for IDE, -gr for SCSI or  -adgr
              for XT).  This is also the default behaviour when no flags are specified.

       -w     Perform  a  device  reset  (DANGEROUS).   Do  NOT  use  this option.  It exists for
              unlikely situations where a reboot might otherwise be required to  get  a  confused
              drive back into a useable state.

       -W     Disable/enable  the  IDE  drive's  write-caching feature (default state is undeter-
              minable; manufacturer/model specific).

       -x     Tristate device for hotswap (DANGEROUS).

       -X     Set the IDE transfer mode for newer (E)IDE/ATA drives.  This is typically  used  in
              combination  with  -d1  when  enabling DMA to/from a drive on a supported interface
              chipset, where -X mdma2 is used to select multiword  DMA  mode2  transfers  and  -X
              sdma1  is  used  to select simple mode 1 DMA transfers.  With systems which support
              UltraDMA burst timings, -X udma2 is used to select UltraDMA mode2 transfers (you'll
              need to prepare the chipset for UltraDMA beforehand).  Apart from that, use of this
              flag is seldom necessary since most/all modern IDE drives default to their  fastest
              PIO  transfer mode at power-on.  Fiddling with this can be both needless and risky.
              On drives which support alternate transfer modes, -X can be used to switch the mode
              of  the  drive only.  Prior to changing the transfer mode, the IDE interface should
              be jumpered or programmed (see -p flag) for the new mode setting  to  prevent  loss
              and/or corruption of data.  Use this with extreme caution!  For the PIO (Programmed
              Input/Output) transfer modes used by Linux, this value is simply  the  desired  PIO
              mode  number plus 8.  Thus, a value of 09 sets PIO mode1, 10 enables PIO mode2, and
              11 selects PIO mode3.  Setting 00 restores the drive's "default" PIO mode,  and  01
              disables  IORDY.   For multiword DMA, the value used is the desired DMA mode number
              plus 32.  for UltraDMA, the value is the desired UltraDMA mode number plus 64.

       -y     Force an IDE drive to immediately enter the low  power  consumption  standby  mode,
              usually  causing  it  to  spin  down.  The current power mode status can be checked
              using the -C flag.

       -Y     Force an IDE drive to immediately enter the lowest power  consumption  sleep  mode,
              causing  it  to  shut down completely.  A hard or soft reset is required before the
              drive can be accessed again (the Linux IDE driver will automatically handle issuing
              a reset if/when needed).  The current power mode status can be checked using the -C
              flag.

       -z     Force a kernel re-read of the partition table of the specified device(s).

       -Z     Disable the automatic power-saving function of certain Seagate drives (ST3xxx  mod-
              els?), to prevent them from idling/spinning-down at inconvenient times.

BUGS
       As  noted  above,  the -m sectcount and -u 1 options should be used with caution at first,
       preferably on a read-only filesystem.  Most drives work well with these  features,  but  a
       few  drive/controller  combinations  are  not  100% compatible.  Filesystem corruption may
       result.  Backup everything before experimenting!

       Some options (eg. -r for SCSI) may not work with old kernels as necessary  ioctl()'s  were
       not supported.

       Although this utility is intended primarily for use with (E)IDE hard disk devices, several
       of the options are also valid (and permitted) for use with  SCSI  hard  disk  devices  and
       MFM/RLL hard disks with XT interfaces.

AUTHOR
       hdparm  has  been  written by Mark Lord <>, the primary developer and main-
       tainer of the (E)IDE driver for Linux, with suggestions from many netfolk.

       The   disable   Seagate   auto-powersaving   code   is   courtesy   of   Tomi    Leppikan-
       gas().

SEE ALSO
       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.

       AT  Attachment  with Packet Interface - 5 (ATA/ATAPI-5), T13-1321D working draft, revision
       3, February 29, 2000.

       AT Attachment with Packet Interface - 6 (ATA/ATAPI-6), T13-1410D working  draft,  revision
       3b, February 26, 2002.

       Western  Digital  Enhanced IDE Implementation Guide, by Western Digital Corporation, revi-
       sion 5.0, November 10, 1993.

       Enhanced Disk Drive Specification, by Phoenix Technologies Ltd., version 1.0, January  25,
       1994.



Version 5.7                                August 2004                                  HDPARM(8)