hdparm — утилита командной строки для Unix-подобных операционных систем. Утилита предназначена для регулировки и просмотра параметров жёстких дисков с интерфейсом ATA. Утилита может установить такие параметры как объём кеш-памяти накопителя, спящий режим, управление питанием, управление акустикой и настройки DMA.

Ранее входила в пакет hwtools.

Изменение аппаратных параметров от неоптимальных консервативных по умолчанию до оптимальных, может повысить производительность диска. Однако, в настоящее время нет надёжных методов для определения оптимальных параметров для устройства, кроме осторожных проб и наблюдений за ошибками. Также не существует никакой централизованной базы данных, которая могла бы собирать информацию о наблюдениях ряда опытных пользователей hdparm.

hdparm имеет очень серьёзный недостаток: утилита может привести к сбою компьютера и сделать данные на жёстком диске недоступными, после применения сочетания некоторых параметров. Всего доступно приблизительно шестьдесят семь параметров, изменение некоторых из них опасно и может привести к краху файловой системы. Перед использованием hdparm, нужно очень внимательно ознакомиться с руководством по работе с утилитой (выполнив команду man hdparm), иметь полную резервную копию всех файлов на диске.

hdparm является свободным программным обеспечением под BSD-лицензией.

Для просмотра общей информации о жёстком диске используется команда: hdparm -i /dev/sd<буква> где <буква> — строчная буква латинского алфавита, соответствующая определённому физическому диску, если их несколько. Если физический диск в компьютере единственный, то ему будет всегда соответствовать файл /dev/sda.

Advanced Power Management

Отключение функции APM позволяет уменьшить частоту «парковки» головок жёсткого диска, что позволяет снизить уровень шума. Для отключения APM используется команда: hdparm -B 255 /dev/sd<буква> или запись в конфигурационном файле /etc/hdparm.conf: /dev/sd<буква> { apm = 255

Режимы Ultra DMA протокола ATA

Для включения или выключения IDE DMA вручную может применяться команда hdparm. Современные версии ядра Linux автоматически включают DMA режим, что можно наблюдать в сообщениях отладки (строки вида ata1.00: configured for UDMA/133 или hda: UDMA/33 mode selected). Определить скорость передачи данных можно по таблице: РежимМбайт/сUDMA Mode 0 16.7 UDMA16 Mode 1 25.0 UDMA25 Mode 2 33.3 UDMA33 Mode 3 44.4 UDMA44 Mode 4 66.7 UDMA66 Mode 5 100.0 UDMA100 Mode 6 133.3 UDMA133

Automatic Acoustic Management

Для снижения шума жёсткого диска с помощью используется ключ -M: hdparm -M 128 /dev/sda Значение 128 максимально снижает шум, максимальное значение 256 увеличивает шум и производительность.

Для постоянного задания параметров используется конфигурационный файл /etc/hdparm.conf: /dev/sda { acoustic_management = 128

Интервал отключения

С помощью ключа -S можно задать время, которое должно пройти после последнего обращения к диску, по истечении которого диск перейдёт в режим ожидания. Вращение дисков при этом останавливается до следующего обращения к диску. Если параметр лежит в диапазоне от 1 до 240, он умножается на 5 секунд (можно задать время от 5 секунд до 20 минут), от 241 до 251 — из параметра вычитается 240 и результат умножается на 30 минут (можно задать от 30 минут до 5.5 часов). Следующая команда установит интервал отключения равным 150 сек (30х5): hdparm -S 30 /dev/sda можно также задать параметр в конфигурационном файле /etc/hdparm.conf: /dev/hdb { spindown_time = 240 }

Многосекторное чтение

Жёсткие диски способны прочитать более одного сектора за один раз. Значение multicount задаёт количество одновременно читаемых секторов жёсткого диска, управляется ключом -m: hdparm -m 16 /dev/sda Для выполнения команды может потребоваться ключ "--yes-i-know-what-i-am-doing". Значение данного параметра лучше ставить равным значению MaxMultSect для данного жёсткого диска.

можно также задать параметр в конфигурационном файле /etc/hdparm.conf: /dev/hdb { mult_sect_io = 16 }

Опережающее чтение

Для повышения производительности жёсткого диска при работе с большими файлами, используется параметр readahead, управляемый с помощью ключа -a: hdparm -a 32 /dev/sda Значение параметра лучше всего подбирать, исходя из значения multicount для вашего HDD, для десктопов лучше всего подойдёт (multicount)*2

Можно так же задать параметр в конфигурационном файле /etc/hdparm.conf: /dev/hdb { read_ahead_sect = 32 }

Примечания

См. также TRIM (команда SSD) hhdtemp smartctl

Ссылки

Тонкая настройка IDE дисков с помощью hdparm hdparm(APM) on MAC OS X

Категория:Утилиты Linux Категория:Утилиты Unix Категория:Утилиты диагностики жёстких дисков