Tuning ATA Disks with hdparm

Written by Mark Lord, hdparm allows administrators to change low-level hard disk settings. Unfortunately, hdparm is really useful only for tuning ATA disks. (While hdparm can conduct a few operations on SCSI disks, most of those operations are purely informational.) SCSI users are left with quite a void in terms of low-level disk tweaking, compared with the number of features that hdparm can adjust. (Zealous proponents of SCSI would surely argue, of course, that SCSI needs no tuning because of its superiority!)

hdparm is usually found at /sbin/hdparm. Because of the low-level hardware changes it can make, you must be root to use it. It’s a good idea to make certain the most recent version is installed on your system. If you need to upgrade (version 5.2 is the most recent version, as of this writing), or if hdparm wasn’t included as part of your distribution, you can download it at http://www.ibiblio.org/pub/Linux/system/hardware/ or download a package from your distributor. Debian users may be able to run apt-get install hdparm, but as of this writing, the stable version is not the most recent.

With a device as its only argument, hdparm returns information about a hard disk’s current settings:

# hdparm /dev/hda /dev/hda: multcount = 16 (on) I/O support = 0 (default 16-bit) unmaskirq = 0 (off) using_dma = 1 (on) keepsettings = 0 (off) nowerr = 0 (off) readonly = 0 (off) readahead = 8 (on) geometry = 2434/255/63, sectors = 39102336, start = 0 busstate = 1 ...

Get Managing RAID on Linux now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.