Hdparm
   HOME

TheInfoList



OR:

hdparm is a
command line A command-line interface (CLI) is a means of interacting with software via command (computing), commands each formatted as a line of text. Command-line interfaces emerged in the mid-1960s, on computer terminals, as an interactive and more user ...
program for
Linux Linux ( ) is a family of open source Unix-like operating systems based on the Linux kernel, an kernel (operating system), operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically package manager, pac ...
to set and view ATA
hard disk drive A hard disk drive (HDD), hard disk, hard drive, or fixed disk is an electro-mechanical data storage device that stores and retrieves digital data using magnetic storage with one or more rigid rapidly rotating hard disk drive platter, pla ...
hardware parameters and test
performance A performance is an act or process of staging or presenting a play, concert, or other form of entertainment. It is also defined as the action or process of carrying out or accomplishing an action, task, or function. Performance has evolved glo ...
. It can set parameters such as drive caches, sleep mode, power management, acoustic management, and DMA settings.
GParted GParted is a GTK front-end to GNU Parted and an official GNOME partition-editing application (alongside GNOME Disks, Disks). GParted is used for creating, deleting, resizing, moving, checking, and copying Partition (computing), disk partitions a ...
and Parted Magic both include ''hdparm''. Changing hardware parameters from suboptimal conservative defaults to their optimal settings can improve performance greatly. For example, turning on DMA can, in some instances, double or triple data throughput. There is, however, no reliable method for determining the optimal settings for a given controller-drive combination, except careful trial and error. Depending on the given parameters, ''hdparm'' can cause computer crashes or render the data on the disk inaccessible.


Usage examples

hdparm has to be run with special privileges, otherwise it will either not be found or the requested actions will not be executed properly. Display information of the hard drive: sudo hdparm -I /dev/sda Turn on DMA for the first hard drive: sudo hdparm -d1 /dev/sda Test device read performance speed (-t for timing buffered disk reads) of the first hard drive: sudo hdparm -t /dev/sda Enable energy saving spindown after inactivity (24*5=120 seconds): sudo hdparm -S 24 /dev/sda To retain hdparm settings after a software reset, run: sudo hdparm -K 1 /dev/sda Enable read-ahead: sudo hdparm -A 1 /dev/sda Set a volatile HPA of 10000000 sectors on the first hard drive (HPA will be lost after a power cycle): hdparm -N 10000000 /dev/sda Set a permanent HPA of 10000000 sectors on the first hard drive (HPA will still stay after power cycles): hdparm -N p10000000 /dev/sda Change its acoustic management, at the cost of read/write performance (some hard drives and SSDs might ignore this setting though.): sudo hdparm -M 128 /dev/sda If the disk synchronisation intervals are too short, then even small amounts of data will be written to disk which can have severe consequences for its lifespan. The better way would be to collect small data into bigger chunks and wait until the chunk is big enough to be written to disk. Current web browsers like Chrome write regularly small chunks when browsing in order not to lose any important data when the application crashes. However, this lets the disk spin very often as the drive repeatedly needs to unleash and then park its heads. The generated noises can be thus regarded as distracting by the user. To circumvent this issue, the user can switch the drive to the lowest degree of power management (next value, 255, turns power management off): hdparm -B 254 /dev/sda Additionally, changing the value of /proc/sys/vm/dirty_expire_centisecs can have an effect on the performance. It sets the flush interval when dirty pages are written to disk. These commands are only effective in the long-run if the user makes the changes persistent. However, the settings the user can set via hdparm are reverted each time the system is rebooted. Therefore, it might be wise to restore the personal settings upon boot. An appropriate place that exists in most Linux distributions is the /etc/rc.local script.


See also

* ATATool for Windows


References


External links

*{{SourceForge, hdparm, hdparm
man page
Free system software Data erasure software Software using the BSD license