hdparm
hdparm — утилита командной строки для Unix-подобных операционных систем. Утилита предназначена для регулировки и просмотра параметров жёстких дисков с интерфейсом ATA. Утилита может установить такие параметры как объём кеш-памяти накопителя, спящий режим, управление питанием, управление акустикой и настройки DMA.
hdparm | |
---|---|
Тип | Утилита |
Автор | Mark Lord[1] |
Написана на | Си |
Операционная система | |
Языки интерфейса | английский |
Последняя версия | |
Состояние | актуальное |
Лицензия | BSD |
Сайт | sourceforge.net/projects… |
Ранее входила в пакет hwtools.[3]
Изменение аппаратных параметров от неоптимальных консервативных по умолчанию до оптимальных, может повысить производительность диска. Однако, в настоящее время нет надёжных методов для определения оптимальных параметров для устройства, кроме осторожных проб и наблюдений за ошибками. Также не существует никакой централизованной базы данных, которая могла бы собирать информацию о наблюдениях ряда опытных пользователей hdparm.
hdparm имеет очень серьёзный недостаток: утилита может привести к сбою компьютера и сделать данные на жёстком диске недоступными, после применения сочетания некоторых параметров. Всего доступно приблизительно шестьдесят семь параметров, изменение некоторых из них опасно и может привести к краху файловой системы. Перед использованием hdparm, нужно очень внимательно ознакомиться с руководством по работе с утилитой (выполнив команду man hdparm), иметь полную резервную копию всех файлов на диске.
hdparm является свободным программным обеспечением под BSD-лицензией.
Для просмотра общей информации о жёстком диске используется команда:
hdparm -i /dev/sd<буква>
где <буква> — строчная буква латинского алфавита, соответствующая определённому физическому диску, если их несколько. Если физический диск в компьютере единственный, то ему будет всегда соответствовать файл /dev/sda.
Advanced Power Management
Отключение функции APM позволяет уменьшить частоту «парковки» головок жёсткого диска, что позволяет снизить уровень шума.[4] Для отключения 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
Для снижения шума жёсткого диска с помощью AAM используется ключ -M
:
hdparm -M 128 /dev/sda
Значение 128 максимально снижает шум, максимальное значение 256 увеличивает шум и производительность.
Для постоянного задания параметров используется конфигурационный файл /etc/hdparm.conf:
/dev/sda {
acoustic_management = 128
}
Интервал отключения
Для уменьшения шума жёсткого диска можно задать время, которое должно пройти после последнего обращения к диску, по истечении которого диск перейдёт в режим ожидания. Вращение дисков при этом останавливается до следующего обращения к диску. Следующая команда установит интервал отключения равным 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