Welcome to Linux Knowledge Base and Tutorial
"The place where you learn linux"
Linux Magazine

 Create an AccountHome | Submit News | Your Account  

Tutorial Menu
Linux Tutorial Home
Table of Contents

· Introduction to Operating Systems
· Linux Basics
· Working with the System
· Shells and Utilities
· Editing Files
· Basic Administration
· The Operating System
· The X Windowing System
· The Computer Itself
· Networking
· System Monitoring
· Solving Problems
· Security
· Installing and Upgrading
· Linux and Windows

Man Pages
Linux Topics
Test Your Knowledge

Site Menu
Site Map
Copyright Info
Terms of Use
Privacy Info
Masthead / Impressum
Your Account

Private Messages

News Archive
Submit News
User Articles
Web Links


The Web

Who's Online
There are currently, 65 guest(s) and 0 member(s) that are online.

You are an Anonymous user. You can register for free by clicking here




       hdparm [ flags ] [device] ..


       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.


       When no flags are given, -acdgkmnru is assumed.

       -a     Get/set sector  count  for  filesystem  read-ahead.
              This  is  used to improve performance in sequential
              reads of large  files,  by  prefetching  additional
              blocks  in anticipation of them being needed by the
              running  task.   In  the  current  kernel   version
              (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  per­
              formance.   Also, many IDE drives also have a sepa­
              rate built-in read-ahead function, which alleviates
              the need for a filesystem read-ahead in many situa­

       -A     Disable/enable the IDE drive's read-lookahead  fea­
              ture (usually ON by default).

       -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 perfor­
              mance. A value of  255  will  disable  apm  on  the

       -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
              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 fea­
              ture, whereby the drive firmware tries to automati­
              cally  manage  defective sectors by relocating them
              to "spare" sectors  reserved  by  the  factory  for

       -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 supply 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, sec­
              tors), 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 sup­
              ported  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

       -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.  There is a special "no seatbelts" varia­
              tion on this option, -Istdin which cannot  be  com­
              bined  with  any other options, and 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
              with  a  chosen  set of configuration settings.  In
              practice, all that is typically necessary 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 set­
              tings for -APSWXZ over a soft reset (as done during
              the  error recovery sequence).  Not all drives sup­
              port this feature.

       -L     Set the drive's doorlock flag.  Setting this  to  1
              will  lock  the  door  mechanism of some removeable
              hard drives (eg. Syquest, ZIP, Jazz..), and setting
              it  to 0 will unlock the door mechanism.  Normally,
              Linux maintains the door locking mechanism automat­
              ically, 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 shutdown.  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 shutdown.

       -m     Get/set sector count for multiple sector I/O on the
              drive.  A setting of 0 disables this feature.  Mul­
              tiple  sector  mode (aka IDE Block Mode), is a fea­
              ture of most modern 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 sup­
              port the minimum settings of 2, 4, 8, or  16  (sec­
              tors).   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 MaxMultSect 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
              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 support 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 imple­
              mented 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 inter­
              nal  prefetch  mechanism.   Not  all drives support
              this feature.

       -q     Handle the next  flag  quietly,  supressing  normal
              output.  This is useful for reducing screen clutter
              when running from /etc/rc.c/rc.local.  Not applica­
              ble 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 device.  When set, write
              operations are not permitted 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  spindle  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 "off".  Values from 1 to 240  specify
              multiples of 5 seconds, for timeouts from 5 seconds
              to 20 minutes.  Values from 241 to 251 specify from
              1  to  11 units of 30 minutes, for timeouts from 30
              minutes to 5.5 hours.  A value of 252  signifies  a
              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 meaningful results,  this
              operation should be repeated 2-3 times on an other­
              wise inactive 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  measurments,  the buffer cache is
              flushed during the processing of -t using the  BLK­
              FLSBUF  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 combi­
              nations 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 unre­
              liable (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  inter­
              faces (usually a BIOS/CMOS setting) provides a safe
              fix for the problem for use with earlier kernels.

       -U     Un-register an IDE interface.  Dangerous.  The com­
              panion  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  system.   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 speci­

              ported 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  pro­
              grammed  (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 Ultra­
              DMA,  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 sta­
              tus 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 cer­
              tain  Seagate  drives  (ST3xxx models?), to prevent
              them  from  idling/spinning-down  at   inconvenient


       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,
       the  primary developer and maintainer of the (E)IDE driver
       for Linux, with suggestions from many netfolk.

       The disable Seagate auto-powersaving code is  courtesy  of
       Tomi Leppikangas(tomilepp@paju.oulu.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.

       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, revision  5.0,  November  10,

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

Version 5.4                  Feb 2003                   HDPARM(8)
Show your Support for the Linux Tutorial

Purchase one of the products from our new online shop. For each product you purchase, the Linux Tutorial gets a portion of the proceeds to help keep us going.



Security Code
Security Code
Type Security Code

Don't have an account yet? You can create one. As a registered user you have some advantages like theme manager, comments configuration and post comments with your name.

Help if you can!

Amazon Wish List

Did You Know?
The Linux Tutorial can use your help.


Tell a Friend About Us

Bookmark and Share

Web site powered by PHP-Nuke

Is this information useful? At the very least you can help by spreading the word to your favorite newsgroups, mailing lists and forums.
All logos and trademarks in this site are property of their respective owner. The comments are property of their posters. Articles are the property of their respective owners. Unless otherwise stated in the body of the article, article content (C) 1994-2013 by James Mohr. All rights reserved. The stylized page/paper, as well as the terms "The Linux Tutorial", "The Linux Server Tutorial", "The Linux Knowledge Base and Tutorial" and "The place where you learn Linux" are service marks of James Mohr. All rights reserved.
The Linux Knowledge Base and Tutorial may contain links to sites on the Internet, which are owned and operated by third parties. The Linux Tutorial is not responsible for the content of any such third-party site. By viewing/utilizing this web site, you have agreed to our disclaimer, terms of use and privacy policy. Use of automated download software ("harvesters") such as wget, httrack, etc. causes the site to quickly exceed its bandwidth limitation and are therefore expressly prohibited. For more details on this, take a look here

PHP-Nuke Copyright © 2004 by Francisco Burzi. This is free software, and you may redistribute it under the GPL. PHP-Nuke comes with absolutely no warranty, for details, see the license.
Page Generation: 0.12 Seconds