К сожалению настройки по-умолчанию для IDE жёстких дисков сделаны с уклоном
в надёжность работы, в том числе на некачественом оборудовании. На большинстве
же современных материнских плат и жёстких дисков можно заметно увеличить
производительность IDE подсистемы, причём это не потребует много времени.
Характеристики IDE устройства
Для получения характеристик IDE устройства выполните команду:
``hdparm -i /dev/hda``
Вместо /dev/hda можно указать любое другое IDE устройство
Пример результата для HDD
Пример результата для CD-RW
Расшифровка
Max Mult Sect: Это поле содержит максимальное число секторов,
которое ваш жесткий диск может прочитать за «один присест».
Mult Sect: Текущая настройка количества секторов, считываемых за
один раз.
PIO modes и DMA modes: Здесь перечисляются режимы, которые
поддерживает жесткий диск. Режим, помеченный символом «звездочка»
(*), является текущим.
Advanced PM: Признак 'yes' указывает на то, что жесткий диск
поддерживает APM (Advanced Power Management – Расширенное
Управление Питанием).
Запустив другую команду, вы получите дополнительную информацию:
multcount – число секторов, считываемых одновременно;
I / O support – режим обмена с жестким диском (16/32/32sync);
using_dma – указывает, используется ли в настоящий момент режим
DMA или нет;
keepsettings – указывает, сохраняются ли настройки после
программного сброса (изменять эту настройку не рекомендуется, если
вы не уверены в том, что делаете);
readonly – обычно установлен в 1 только для CD-ROM, этот флаг
сообщает системе – является ли устройство read-only или нет;
readahead – количество секторов для опережающего чтения;
Настройка
ПРЕДУПРЕЖДЕНИЕ! Неправильная настройка может привести к потере данных на
жёстком диске, а возможно и самого дика.
I / O Support
-с0 — установка 16-и битного режима (по-умолчанию)\\
-c1 — установка 32-х битного режима (обычно то, что вам нужно)\\
-c3 — установка 32-х битного синхронного режима (мне не известно, когда именно это над
Multicount
Количество секторов передаваемых сразу (одним блоком). Степень двойки,
максимальное число — параметр Max Mult Sect в выводе hdparm -i. Чаще всего
вам именно его и нужно указывать.
Включение DMA
Большинство современных чипсетов и HDD поддерживают DMA под линуксом. Для
некоторых самых новых чипсетов в данный момент поддержки DMA может не быть,
однако это не так часто бывает. Обычно в течении нескольких недель после
выхода нового чипсета появляется его поддержка в последнем ядре, так что
если DMA у вас не включается, то следует, скорее всего, обновить ядро.
-d0 — запрещение DMA\\
-d1 — включение DMA
DMA mode и PIO mode
Самая опасная настройка — её неправильное использование чаще всего приводит
к повреждению данных или оборудования.
На сколько чекторов вперёд читать при запросе. Ускоряет производительность
при чтении файлов большого размера, однако замедляет работу с файлами
небольшого размера.
Лучше всего установить то же значение, что и для multicount.
-aN — опережающее чтение N секторов
Тестирование
Для тестирования наберите:
hdparm -t <имя устройства>
Желательно это делать, когда заметной дисковой активности нет.
Потом попробуйте какой-нибудь вариант конфигурации, например:
hdparm -u1c1d1m8a8 <имя устройства>
После чего опять повторите:
hdparm -t <имя устройства>
И сравните результаты.
По результату этого теста не стоит подбирать опции -a и -m, для этого лучим
тестом будут реальные приложения, исполняемые на вашей машине. Если это
домашняя машина, а не боевой сервер, на котором важна свертонкая подстройка
(но на таких серверах редко оказываются IDE-диски, о которых здесь идёт речь),
то тогда параметр multicount (-m) ставите на максимум, а параметр read-ahead (-a)
равным multicount.
Особенности дистрибутивов
ALT Linux Master
Настройки hdparm задаются в файле /etc/sysconfig/harddisk/hd*
Ссылки
hdparm(8)
TODO -S (время пассивной работы до выхода в standby)