Вход:  Пароль:  
FreeSource: ТонкаяНастройкаДиска ...
Free Source | Каталог | Изменения | НовыеКомментарии | Пользователи | Регистрация |
Это старая версия ТонкаяНастройкаДиска за 2004-04-18 14:10:22..

Тонкая настройка IDE дисков с помощью hdparm

Введение

К сожалению настройки по-умолчанию для IDE жёстких дисков сделаны с уклоном
в надёжность работы, в том числе на некачественом оборудовании. На большинстве
же современных материнских плат и жёстких дисков можно заметно увеличить
производительность IDE подсистемы, причём это не потребует много времени.

Характеристики IDE устройства

Для получения характеристик IDE устройства выполните команду:

``hdparm -i /dev/hda``

Вместо /dev/hda можно указать любое другое IDE устройство

Пример результата для HDD

/dev/hda:

Model=IC35L120AVVA07–0, Fw Rev?=VA6OA52A, Serial No?=VNC602A6G9A19A
Config={ Hard Sect? Not MFM? Hd Sw?>15uSec Fixed DTR>10Mbs }
Raw CHS?=16383/16/63, Trk Size?=0, Sect Size?=0, ECCbytes=52
Buff Type?=Dual Port Cache?, Buff Size?=1863kB, Max Mult Sect?=16, Mult Sect?=8
Cur CHS?=16383/16/63, Cur Sects?=16514064, LBA=yes, LBAsects=66055248
IORDY=on/off, tPIO={min:240,w/IORDY:120}, tDMA={min:120,rec:120}
PIO modes: pio0 pio1 pio2 pio3 pio4
DMA modes: mdma0 mdma1 mdma2
UDMA modes: udma0 udma1 *udma2 udma3 udma4 udma5
Advanced PM?=yes: disabled (255) Write Cache?=enabled
Drive conforms to: ATA/ATAPI-5 T13 1321D revision 1: 2 3 4 5

Пример результата для CD-RW


/dev/hdd:

Model=CD-W58E, Fw Rev?=1.0A, Serial No?=
Config={ Fixed Removeable DTR<=5Mbs DTR>10Mbs nonMagnetic }
Raw CHS?=0/0/0, Trk Size?=0, Sect Size?=0, ECCbytes=0
Buff Type?=unknown, Buff Size?=0kB, Max Mult Sect?=0
(maybe): Cur CHS?=0/0/0, Cur Sects?=0, LBA=yes, LBAsects=0
IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120}
PIO modes: pio0 pio1 pio2 pio3 pio4
DMA modes: sdma0 sdma1 sdma2 mdma0 mdma1 *mdma2
Advanced PM?=no

Расшифровка


  • Max Mult Sect?: Это поле содержит максимальное число секторов,
    которое ваш жесткий диск может прочитать за «один присест».
  • Mult Sect?: Текущая настройка количества секторов, считываемых за 
    один раз.
  • PIO modes и DMA modes: Здесь перечисляются режимы, которые
    поддерживает жесткий диск. Режим, помеченный символом «звездочка»
    (*), является текущим.
  • Advanced PM?: Признак 'yes' указывает на то, что жесткий диск
    поддерживает APM (Advanced Power Management – Расширенное
    Управление Питанием).

  • Запустив другую команду, вы получите дополнительную информацию:

    darkstar:$ hdparm /dev/hda

    Результат работы команды:
    /dev/hda:

    multcount = 0 (on)
    I / O? support = 0 (16-bit)
    unmaskirq = 0 (off)
    using_dma = 0 (off)
    keepsettings = 0 (off)
    nowerr = 0 (off)
    readonly = 0 (off)
    readahead = 8 (on)
    geometry = 2482/255/63, sectors = 39876480, start = 0

    Коротко...

    • 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

    Самая опасная настройка — её неправильное использование чаще всего приводит
    к повреждению данных или оборудования.

    -X<число> — установка режима PIO или DMA 

    Режимы multiword DMA:

    32 (базовое число) + номер режима:

    -X32 — mdma0
    -X33 — mdma1
    -X34 — mdma2

    Для PIO базовое число 8, для Ultra DMA? 64.

    -X64 — udma0
    -X65 — udma1
    -X66 — udma2
    -X67 — udma3
    -X68 — udma4
    -X69 — udma5

    Readahead (опережающее чтение)

    На сколько чекторов вперёд читать при запросе. Ускоряет производительность
    при чтении файлов большого размера, однако замедляет работу с файлами
    небольшого размера.

    Лучше всего установить то же значение, что и для 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) !!

    (C) Денис Смирнов <mithraen@freesource.info>


     
    Файлов нет. [Показать файлы/форму]
    Комментариев нет. [Показать комментарии/форму]