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. Чтобы показания были более точными, рекомендую выполнить эту команду несколько раз, и взять среднее значение.