Книга: Linux глазами хакера

14.11.2. Тюнинг HDD

14.11.2. Тюнинг HDD

Долгое время в ОС Linux для доступа к жесткому диску была отключена даже поддержка DMA (Direct Memory Access, прямой доступ к памяти), хотя эта возможность существует почти во всех материнских платах еще со времен первых компьютеров с процессором Pentium. ОС не использовала DMA в целях совместимости с более старыми компьютерами, поэтому функцию приходилось включать самостоятельно.

В современных дистрибутивах поддержка DMA уже включена, но работу винчестера можно еще оптимизировать. Для тестирования и настройки жесткого диска используется утилита hdparm. Для определения скорости работы диска выполните команду с ключом -t:

hdparm -t /dev/hda

В ответ вы получите сообщение типа:

Timing buffered disk reads: 64 MB in 3.02 seconds = 21.19MB/sec

Попробуйте в качестве параметра указать раздел:

hdparm /dev/hda2

В результате будут выведены параметры жесткого диска:

/dev/hda2:
multcount    = 128 (on)
IO_support   = 0 (default 16-bit)
unmaskirq    = 0 (off)
using_dma    = 1 (on)
keepsettings = 0 (off)
readonly     = 0 (off)
readahead    = 8 (on)
geometry     = 2088/255/63, sectors = 32515560, start = 1028160

В этой информации есть много интересного:

multcount — количество слов, читаемых за один такт. Эта опция должна быть включена, и желательно установить значение 128. Это может повысить производительность на 30–50%. Для изменения значения используется ключ mX, где X — это устанавливаемое значение;

using_dma — режим DMA. Для включения используется ключ d1;

IO_support — режим доступа к диску. По умолчанию стоит 16-битный, но сейчас уже можно использовать 32-битный режим. Для включения используется ключ c3.

Это основные три параметра, которые могут реально повысить производительность. Итак, давайте установим значения в соответствии с указанными выше рекомендациями. Для этого выполните команду:

hdparm -m128d1c3/dev/hda

Как видите, мы просто перечислили все ключи и указали диск /dev/hda. Обратите внимание, что при определении устройства не стоит никаких цифр, которые указывали бы на раздел, т.к. доступ можно изменить только жесткому диску в целом.

После изменения параметров их необходимо сохранить с помощью команды:

hdparm -k1 /dev/hda

После этого снова выполните команду тестирования скорости работы диска hdparm -t /dev/hda.

Помимо того, что вы увидели с помощью команды hdparm /dev/hda2, появился еще один параметр — режим доступа. В настоящее время поддерживается три режима ATA 33/66/100. Сверьтесь с документацией на жесткий диск, чтобы узнать, что он поддерживает.

Для смены режима используется ключ X:

? X34 — ATA33;

? X68 — ATA66;

? X69 — ATA100.

Для установки ATA66 выполните команду:

hdparm -Х68/dev/hda

Самое странное, что установленные вами параметры не сохраняются после перезагрузки системы, поэтому желательно прописать эти команды в файл /etc/rc.d/rc.local. Для этого в самый конец файла добавляем три строки:

hdparm -m128d1c3/dev/hda
hdparm -Х68/dev/hda
hdparm -k1 /dev/hda

Оглавление книги


Генерация: 1.458. Запросов К БД/Cache: 3 / 1
поделиться
Вверх Вниз