hdparm (hdparm)
Для улучшения этой статьи желательно:
|
hdparm | |
---|---|
Тип | Утилита |
Автор | Mark Lord[1] |
Написана на | Си |
Операционная система | GNU/Linux |
Языки интерфейса | английский |
Последняя версия |
|
Состояние | актуальное |
Лицензия | BSD |
Сайт | sourceforge.net/projects… |
hdparm — утилита командной строки для Unix-подобных операционных систем. Утилита предназначена для регулировки и просмотра параметров жёстких дисков с интерфейсом ATA. Утилита может установить такие параметры как объём кеш-памяти накопителя, спящий режим, управление питанием, управление акустикой и настройки DMA[3].
Ранее входила в пакет hwtools.
Изменение аппаратных параметров от неоптимальных консервативных по умолчанию до оптимальных, может повысить производительность диска. Однако, в настоящее время нет надёжных методов для определения оптимальных параметров для устройства, кроме осторожных проб и наблюдений за ошибками. Также не существует никакой централизованной базы данных, которая могла бы собирать информацию о наблюдениях ряда опытных пользователей hdparm.
hdparm имеет очень серьёзный недостаток: утилита может привести к сбою компьютера и сделать данные на жёстком диске недоступными, после применения сочетания некоторых параметров. Всего доступно приблизительно шестьдесят семь параметров, изменение некоторых из них опасно и может привести к краху файловой системы. Перед использованием hdparm, нужно очень внимательно ознакомиться с руководством по работе с утилитой (выполнив команду man hdparm), иметь полную резервную копию всех файлов на диске.
hdparm является свободным программным обеспечением под BSD-лицензией.
Для выполнения команд, приведённых ниже требуются права суперпользователя! |
Для просмотра общей информации о жёстком диске используется команда:
hdparm -i /dev/sd<буква>
где <буква> — строчная буква латинского алфавита, соответствующая определённому физическому диску, если их несколько. Если физический диск в компьютере единственный, то ему будет всегда соответствовать файл /dev/sda.
Неправильная настройка может привести к потере данных на жёстком диске, а, возможно, и к поломке самого диска.
На некоторых компьютерах настройки hdparm могут сбрасываться при перезагрузке. |
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
}
Интервал отключения
[править | править код]С помощью ключа -S можно задать время, которое должно пройти после последнего обращения к диску, по истечении которого диск перейдёт в режим ожидания. Вращение дисков при этом останавливается до следующего обращения к диску. Если параметр лежит в диапазоне от 1 до 240, он умножается на 5 секунд (можно задать время от 5 секунд до 20 минут), от 241 до 251 — из параметра вычитается 240 и результат умножается на 30 минут (можно задать от 30 минут до 5.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
}
Примечания
[править | править код]- ↑ автор hdparm . Дата обращения: 30 сентября 2015. Архивировано 2 сентября 2015 года.
- ↑ hdparm-9.65 is released
- ↑ Magic and imagination // The Magic of Organization. — 2020. — С. 25–25. — doi:10.4337/9781839106736.00006.
- ↑ Problem with hard drive clicking — ThinkWiki . Дата обращения: 14 января 2011. Архивировано 11 января 2011 года.
- ↑ Проект OpenNet: MAN hdparm (8) Команды системного администрирования (FreeBSD и Linux) . Дата обращения: 21 сентября 2024. Архивировано 21 сентября 2024 года.