hdparm

Aus Mikiwiki
Zur Navigation springen Zur Suche springen

Der Shell-Befehl hdparm dient zum Lesen und Setzen von Parametern für ATA-Datenspeicher unter Linux. Mit hdparm können unter anderem die Einstellungen für Direct Memory Access, Tagged Command Queuing sowie der ATAPI-Transfermodus geändert werden. In vielen Fällen kann damit bei EIDE-Festplatten sowie CD-ROM- und DVD-Laufwerken die Geschwindigkeit deutlich erhöht werden, aber hdparm-Befehle können auch zu Datenverlust und sogar zu Beschädigung von Festplatten und Controllern führen.

hdparm hat keine grafische Benutzeroberfläche.

Konfiguration

Um beim Bootvorgang die richtigen Einstellungen automatisch zu starten, wird der vollständige hdparm-Befehl in eines der Linux-Startskripte eingebaut.

Linux-Distribution Konfigurationsdatei
Mandriva /etc/rc.d/rc.local
Debian /etc/rcS.d/bootmisc.sh
SUSE Linux /etc/init.d/boot.local

Unter SUSE Linux besteht auch die Möglichkeit, DMA über YAST einzurichten (Menü "Hardware > IDE DMA Modus").

Verwendung

Anzeige der aktivierten Eigenschaften der ersten Festplatte.

# hdparm /dev/hda
/dev/hda:
 multcount    = 16 (on)
 IO_support   =  0 (default 16-bit)
 unmaskirq    =  0 (off)
 using_dma    =  1 (on)
 keepsettings =  0 (off)
 readonly     =  0 (off)
 readahead    = 256 (on)
 geometry     = 65535/16/63, sectors = 240121728, start = 0

Anzeige der von der ersten Festplatte unterstützten Modi. Der beste UDMA-Modus findet sich z. B. in der entsprechenden Zeile ganz rechts (hier "udma2").

# hdparm -i /dev/hda
/dev/hda:

 Model=Maxtor 6Y120L0, FwRev=YAR41BW0, SerialNo=Y31P1XGE
 Config={ Fixed }
 RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=57
 BuffType=DualPortCache, BuffSize=2048kB, MaxMultSect=16, MultSect=16
 CurCHS=4047/16/255, CurSects=16511760, LBA=yes, LBAsects=240121728
 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
 AdvancedPM=yes: disabled (255) WriteCache=enabled
 Drive conforms to: (null):

 * signifies the current active mode

Anzeige der Grösse der ersten Festplatte.

# hdparm -I /dev/hda | grep size
       device size with M = 1024*1024:      117246 MBytes
       device size with M = 1000*1000:      122942 MBytes (122 GB)

Anzeige von Modellname und Seriennummer der ersten Festplatte.

# hdparm -I /dev/hda | grep Number
       Model Number:       Maxtor 6Y120L0
       Serial Number:      Y31P1XGE

Test der Performance der ersten Fesplatte. Der obere Wert misst dabei den Datendurchsatz bei einem Lesezugriff auf den "Linux Buffer Cache". Der uasschlaggebende Wert darunter zeigt die Übertragungsrate beim Lesen von der Festplatte oder dem Laufwerk. Idealerweise wird der Test durchgeführt, wenn der Rechner nicht anderweitig arbeitet. Zur Erzielung eines verlässlichen Werts muss der Test ausserdem mehrfach wiederholt werden.

# hdparm -Tt /dev/hda
/dev/hda:
 Timing cached reads:   1392 MB in  2.00 seconds = 695.96 MB/sec
 Timing buffered disk reads:  156 MB in  3.01 seconds =  51.86 MB/sec

Aktivierung von DMA für die erste Festplatte. Die Option "-d1" aktiviert DMA und wählt gewöhnlich den besten verfügbaren Wert. Um das zusätzlich sicherzustellen, wird der Modus händisch auch über die Option "-X69" festgelegt. Die Zahl ergibt sich wie folgt: der bestmögliche UDMA-Modus für die aktuelle Festplatte (hier 2) wird mit der Zahl 64 addiert. Ähnliche Additionen werden auch benötigt, um DMA und PIO einzustellen (siehe "man hdparm"). Zum Testen der Stabilität der so veränderten Werte kann etwas Musik oder ein Film abgespielt werden - stürzt dabei der Rechner ab, sollte besser ein weniger schneller DMA-Modus gewählt oder die Funktion ganz abgeschaltet werden.

# hdparm -d1 -X66 /dev/hda

Weblinks

Herausgeber Sprache Webseitentitel Anmerkungen
Wikipedia ger hdparmwbm Enzyklopädischer Artikel