Hdparm утилита описание и применение

Как работать с утилитой hdparm?

Как описано в руководстве, утилита hdparm предназначена для установки/получения различных параметров SATA/IDE устройств, к которым относятся жесткие диски. По умолчанию утилита идет в комплекте большинства дистрибутивов.

Установка

Однако если Вам не повезло, и hdparm отсутствует в Вашей ОС, то исправить это можно следующим образом:

$ sudo apt-get install hdparm

 

или

$ sudo yum install hdparm

По своей сути hdparm является программой с интерфейсом в командной строке для различных ядер с поддержкой Linux SATA/PATA/SAS «libata» подсистем и более ранних IDE драйверов.

Синтаксис

Синтаксис утилиты обычен, и достаточно прост:

hdparm [параметры] [устройство …]

Полезные параметры

-gОтображает геометрию устройства (цилиндры, головки, сектора), размер (в секторах) устройства.
-hОтображение краткой информации об использовании (помощь).
-HСчитывает температуру некоторых устройств (большинство Hitachi). Также отображает предупреждение, если температура выше нормы.
-iОтображает идентификационную информацию от драйвера устройства.
-IОтображает идентификационную информацию прямо от устройства. Более детально.
-tОтображает скорость чтения с диска, без кэширования данных.
-TОтображает скорость чтения напрямую из кэша Linux буффера, без доступа к диску.

Пример использования утилиты

без параметров –

$ sudo hdparm /dev/sda

/dev/sda:
multcount = 16 (on)
IO_support = 1 (32-bit)
readonly = 0 (off)
readahead = 256 (on)
geometry = 60801/255/63, sectors = 976773168, start = 0

с параметрами

– выводим информацию о жестком диске

$ sudo hdparm -i /dev/sda

Model=ST500DM002-1BD142, FwRev=KC45, SerialNo=Z3T1Q1MV
Config={ HardSect NotMFM HdSw>15uSec Fixed DTR>10Mbs RotSpdTol>.5% }
RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=4
BuffType=unknown, BuffSize=16384kB, MaxMultSect=16, MultSect=16
CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=976773168
IORDY=on/off, tPIO={min:120,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 *udma6
AdvancedPM=no WriteCache=enabled
Drive conforms to: unknown: ATA/ATAPI-4,5,6,7

– отображаем краткую информации о диске, текущую температуру

$ sudo hdparm -iH /dev/sdb

/dev/sdb:
drive temperature (celsius) is: 35
drive temperature in range: yes

Model=Hitachi HTS545050A7E380, FwRev=GG2OA7J0, SerialNo=120611TA95123VHV44RX
Config={ HardSect NotMFM HdSw>15uSec Fixed DTR>10Mbs }
RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=4

Как узнать скорость чтения данных с диска?

Также с помощью этой утилиты можно ответить на весьма интересный и полезный вопрос, а именно: как узнать скорость чтения данных с диска? Для этого используем два параметра -t и -T одновременно. Сперва будет отображена скорость чтения из кэша, затем реальная скорость чтения с диска.

lexone@DebianWorkStation:~$ sudo hdparm -tT /dev/sda

/dev/sda:
Timing cached reads: 21544 MB in 2.00 seconds = 10780.92 MB/sec
Timing buffered disk reads: 384 MB in 3.00 seconds = 127.96 MB/sec
lexone@DebianWorkStation:~$ sudo hdparm -tT /dev/sdb

/dev/sdb:
Timing cached reads: 20736 MB in 2.00 seconds = 10376.61 MB/sec
Timing buffered disk reads: 286 MB in 3.00 seconds = 95.25 MB/sec

Вывод

Как видно из результатов выполнения приведенных команд, произведено сравнение двух дисков. ST500DM002-1BD142 на /dev/sda и на /dev/sdb Hitachi HTS545050A7E380. Первый оказался быстрее почти на 30MB/sec. Чтобы показания были более точными, рекомендую выполнить эту команду несколько раз, и взять среднее значение.