Hdparm: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
|||
Zeile 595: | Zeile 595: | ||
''Anmerkung: Nach dem Resume von einem Suspend-to-ram/to-disk wird die hdparm.conf leider übergangen und die getätigten Einstellungen überschrieben. Zur Abhilfe muss man sich entweder an der Datei '''/etc/default/hdparm''' oder an entsprechenden pm-util Skripten vergreifen bzw. eigene erstellen, wie hier vorgeschlagen: {{DebianforumDiskussion|138254}}'' | ''Anmerkung: Nach dem Resume von einem Suspend-to-ram/to-disk wird die hdparm.conf leider übergangen und die getätigten Einstellungen überschrieben. Zur Abhilfe muss man sich entweder an der Datei '''/etc/default/hdparm''' oder an entsprechenden pm-util Skripten vergreifen bzw. eigene erstellen, wie hier vorgeschlagen: {{DebianforumDiskussion|138254}}'' | ||
Version vom 18. Juli 2022, 13:35 Uhr
hdparm - anzeigen, testen und setzen von Hardwareparametern für ATA-Festplattenlaufwerke
Beschreibung
Hardwareparameter
- Laufwerks-Caches
- Ruhemodus
- Energieverwaltung
- akustische Verwaltung
- DMA-Einstellungen
Installation
Syntax
hdparm [options] [device ...]
Parameter
Optionen
Zeichen | Beschreibung |
---|---|
-a | Abrufen / Festlegen der Sektoranzahl für das Vorauslesen des Dateisystems (Software).
Wird verwendet, um die Leistung beim sequentiellen Lesen von großen Dateien zu verbessern, indem zusätzliche Blöcke vorab abgerufen werden. |
-A | Aktivieren (-A1) und deaktivieren (-A0) der Read-Lookahead-Funktion (verbessert die Lese-Performance) eines Datenträgers.
Ist normalerweise standardmäßig aktiviert. |
-B | Advanced Power Management, wenn das Laufwerk dies unterstützt.
Ein niedriger Wert bedeutet aggressives Power Management und ein hoher Wert bedeutet bessere Leistung. Mögliche Einstellungen reichen von den Werten 1 bis 127 (die ein Herunterfahren ermöglichen) und den Werten 128 bis 254 (die kein Herunterfahren zulassen). Der höchste Grad an Power Management wird mit einer Einstellung von 1 und die höchste Leistung mit einer Einstellung von 254 erreicht. Wert 255 deaktiviert das Advanced Power Management auf dem Datenträger (wird nicht alle Datenträgern unterstützt, jedoch von den meisten). |
-I | Ausgabe aller verfügbaren Informationen zu einem Datenträger |
-K | Setzen der Flag "keep_features_over_reset".
Durch diese Einstellung kann das Laufwerk die Einstellungen für die Optionen -APSWXZ über einen Soft-Reset beibehalten während die Fehlerbehebungssequenz durchgeführt wird. Nicht alle Laufwerke unterstützen diese Funktion. |
-M | Abrufen und Festlegen der AAM-Einstellung (Automatic Acoustic Management). Die meisten modernen Festplattenlaufwerke können die Kopfbewegungen beschleunigen, um das Geräusch zu reduzieren.
Werte liegen zwischen 0 und 254. 128 ist die leiseste (und daher langsamste) Einstellung und 254 die schnellste (und lauteste). Einige Laufwerke haben nur zwei Stufen (leise / schnell), während andere unterschiedliche Stufen zwischen 128 und 254 haben können. Im Moment unterstützen die meisten Laufwerke nur 3 Optionen zwischen leise und schnell. Mit den Werten 0, 128 und 254. |
-S | Festplatte in den Standby-Modus (Energiesparmodus) versetzen und einstellen des Standby-Zeitlimit (Spindown), wie lange (ohne Festplattenaktivität) gewartet werden muss, bevor der Spindelmotor ausgeschaltet wird, um Strom zu sparen.
Ist dieser ausgeschltet, kann es bis zu 30 Sekunden dauern, bis das Laufwerk auf einen nachfolgenden Festplattenzugriff reagiert. Die meisten Laufwerke sind aber schneller. Die Kodierung der Standby-Zeitlimits ist sehr speziell. Null bedeutet "Standby-Zeitlimit ist deaktiviert": Das Gerät wechselt nicht automatisch in den Standby-Modus. Werte von 1 bis 240 geben ein Vielfaches von 5 Sekunden an (1x5s bis 240x5s). Werte von 241 bis 251 geben 11 Einheiten in 30-Minuten-Schritten an (241 = 30min bis 251 = 5,5h). Wert 252 bedeutet 21 Minuten Standby-Zeitlimit. Wert 253 legt eine vom Hersteller definiertes Standby-Zeitlimit zwischen 8 und 12 Stunden fest. Wert 254 reserviert. Wert 255 wird als 21 Minuten plus 15 Sekunden interpretiert. |
weitere Information: Manpage hdparm
Umgebungsvariablen
Exit-Status
Konfiguration
Dateien
Anwendungen
Alle Informationen anzeigen
# hdparm -I /dev/sdb /dev/sdb: ATA device, with non-removable media Model Number: Hitachi HDS722020ALA330 Serial Number: JK1160YAGMUVRT Firmware Revision: JKAOA3MA Transport: Serial, ATA8-AST, SATA 1.0a, SATA II Extensions, SATA Rev 2.5, SATA Rev 2.6; Revision: ATA8-AST T13 Project D1697 Revision 0b Standards: Used: unknown (minor revision code 0x0029) Supported: 8 7 6 5 Likely used: 8 Configuration: Logical max current cylinders 16383 16383 heads 16 16 sectors/track 63 63 -- CHS current addressable sectors: 16514064 LBA user addressable sectors: 268435455 LBA48 user addressable sectors: 3907029168 Logical/Physical Sector size: 512 bytes device size with M = 1024*1024: 1907729 MBytes device size with M = 1000*1000: 2000398 MBytes (2000 GB) cache/buffer size = 29999 KBytes (type=DualPortCache) Form Factor: 3.5 inch Nominal Media Rotation Rate: 7200 Capabilities: LBA, IORDY(can be disabled) Queue depth: 32 Standby timer values: spec'd by Standard, no device specific minimum R/W multiple sector transfer: Max = 16 Current = 0 Advanced power management level: disabled DMA: mdma0 mdma1 mdma2 udma0 udma1 udma2 udma3 udma4 udma5 *udma6 Cycle time: min=120ns recommended=120ns PIO: pio0 pio1 pio2 pio3 pio4 Cycle time: no flow control=120ns IORDY flow control=120ns Commands/features: Enabled Supported: * SMART feature set Security Mode feature set * Power Management feature set Write cache * Look-ahead * Host Protected Area feature set * WRITE_BUFFER command * READ_BUFFER command * DOWNLOAD_MICROCODE Advanced Power Management feature set Power-Up In Standby feature set * SET_FEATURES required to spinup after power up SET_MAX security extension * 48-bit Address feature set * Device Configuration Overlay feature set * Mandatory FLUSH_CACHE * FLUSH_CACHE_EXT * SMART error logging * SMART self-test Media Card Pass-Through * General Purpose Logging feature set * WRITE_{DMA|MULTIPLE}_FUA_EXT * 64-bit World wide name * URG for READ_STREAM[_DMA]_EXT * URG for WRITE_STREAM[_DMA]_EXT * WRITE_UNCORRECTABLE_EXT command * Segmented DOWNLOAD_MICROCODE * Gen1 signaling speed (1.5Gb/s) * Gen2 signaling speed (3.0Gb/s) * Native Command Queueing (NCQ) * Host-initiated interface power management * Phy event counters * NCQ priority information Non-Zero buffer offsets in DMA Setup FIS * DMA Setup Auto-Activate optimization Device-initiated interface power management In-order data delivery * Software settings preservation * SMART Command Transport (SCT) feature set * SCT Write Same (AC2) * SCT Error Recovery Control (AC3) * SCT Features Control (AC4) * SCT Data Tables (AC5) Security: Master password revision code = 65534 supported not enabled not locked not frozen not expired: security count not supported: enhanced erase 500min for SECURITY ERASE UNIT. Logical Unit WWN Device Identifier: 5000cca221c90422 NAA : 5 IEEE OUI : 000cca Unique ID : 221c90422 Checksum: correct
Bestimmte Information anzeigen
# hdparm -I /dev/sdb | grep "cache" cache/buffer size = 29999 KBytes (type=DualPortCache) Write cache
- Datenträger sdb hat eine "cache size" von 29,999 MB.
Advanced Power Management einstellen
# hdparm -B 254 /dev/sda /dev/sda: setting Advanced Power Management level to 0xfe (254) APM_level = 254
- Datenträger sda ist auf höchst mögliche Leistung eingestellt => beste Performance, aber höchster Stromverbrauch.
Standby-Modus (Spindown)
- Hier auf ein Standby-Zeitlimit von 2min.
# hdparm -S 24 /dev/sda /dev/sda: setting standby to 24 (2 minutes)
hdparm-Einstellungen nach einem Software-Reset beibehalten
- Hier Aktivierung bei Datenträger sda.
# hdparm -K 1 /dev/sda /dev/sda: setting drive keep features to 1 (on)
Read-Lookahead-Funktion
- Hier Aktivierung beim Datenträger sda.
# hdparm -A 1 /dev/sda /dev/sda: setting drive read-lookahead to 1 (on) look-ahead = 1 (on)
Akkustik
Akkustiklevel anzeigen
# hdparm -M /dev/sda /dev/sda: acoustic = 254 (128=quiet ... 254=fast)
- Akkustiklevel des Datenträgers sda ist auf "fast" eingestellt => schnell, aber laut.
Akkustiklevel einstellen
- Hier auf "quiet" => geringere Performance.
# hdparm -M 128 /dev/sda /dev/sda: setting acoustic management to 128 acoustic = 128 (128=quiet ... 254=fast)
Lesegeschwindigkeit messen
mit Cache
# hdparm -Tt /dev/sda /dev/sda: Timing cached reads: 6962 MB in 2.00 seconds = 3482.67 MB/sec Timing buffered disk reads: 358 MB in 3.01 seconds = 119.12 MB/sec
ohne Cache
# hdparm -Tt --direct /dev/sda /dev/sda: Timing O_DIRECT cached reads: 498 MB in 2.00 seconds = 248.49 MB/sec Timing O_DIRECT disk reads: 360 MB in 3.01 seconds = 119.60 MB/sec
Sicherheit
Dokumentation
RFC
Man-Pages
Info-Pages
Siehe auch
Links
Projekt-Homepage
Weblinks
- https://de.wikipedia.org/wiki/Hdparm
- https://linuxwiki.de/hdparm
- https://wiki.ubuntuusers.de/Festplatten-Geschwindigkeitstest/
- https://askubuntu.com/questions/87035/how-to-check-hard-disk-performance
- Vorlage:DebianforumDiskussion zum Artikel
- http://sourceforge.net/projects/hdparm
- http://de.wikipedia.org/wiki/Hdparm
- http://debiananwenderhandbuch.de/hdparm%20Festplattenparameter.html
- http://wiki.ubuntuusers.de/Archiv/DMA
- http://linuxwiki.de/hdparm
- http://de.wikipedia.org/wiki/ATA/ATAPI
- http://de.wikipedia.org/wiki/Host_Protected_Area
- http://www.heise.de/ct/artikel/Baerendienst-289866.html
- http://wiki.ubuntuusers.de/SSD/Secure-Erase
- https://ata.wiki.kernel.org/index.php/ATA_Secure_Erase
- http://www.serialata.org
Einzelnachweise
Testfragen
Testfrage 1
Testfrage 2
Testfrage 3
Testfrage 4
Testfrage 5
TMP
Laufwerksoptimierung mit hdparm
Dieser Artikel soll einen Überblick der Möglichkeiten von hdparm aufzeigen und den praktischen Einsatz beschreiben. Hdparm zeigt und setzt Parameter von Laufwerken, die am (E)IDE,- SATA und SAS Bus angeschlossen sind. Hintergründlich nutzen diese den ATA/ATAPI Befehlssatz. Deshalb ist es nur bei wenigen IDE zu USB Bridge Adaptern möglich, die dahinter liegende Festplatte anzusprechen. Um Adapter/Laufwerke zu finden, welche die nötige "ATA command pass through"-Funktionalität bieten, kann man sich an dieser Liste orientieren.
Festplatten, SSDs und CD/DVD/Blue-Ray-Laufwerke sind typische Geräte, die angesprochen werden können.
Das Paket Vorlage:Deb kann normal über die Paketverwaltung installiert werden. Hdparm muss mit Rootrechten ausgeführt werden.
Im Gegensatz zum Pendant Vorlage:Deb (Skript-freundlicher) kann hdparm eine ganze Menge mehr (außer SCSI), lässt sich konfigurieren und bringt ein eigenes Initskript mit.
Weitere ähnliche Werkzeuge finden sich in den Paketen Vorlage:Deb und Vorlage:Deb.
Vorlage:Hinweis
Vorlage:Warnung
Laufwerksinformationen holen und deuten
Es ist nötig, sich erst einmal über die Fähigkeiten seines Laufwerkes zu informieren. Der hdparm-Aufruf ohne Parameter, ist gleichbedeutend mit „-v“, was wiederum diese Optionen impliziert: „-acdgkmur“ (unterscheidet sich leicht von älteren Versionen). Die Eingabe bringt zum Beispiel (hier eine 250 GB IDE Notebook Festplatte): Vorlage:RootShell
/dev/hda: multcount = 16 (on) IO_support = 3 (32-bit w/sync) unmaskirq = 0 (off) using_dma = 1 (on) keepsettings = 0 (off) readonly = 0 (off) readahead = 256 (on) geometry = 30401/255/63, sectors = 488397168, start = 0
Einige Daten wie DMA , multiple sector count, read-ahead und die Geometrie sind so abgreifbar.
- -i
- Mehr Informationen bekommt man mit „-i“. Diese wurden zum Start erfasst und ändern sich i.d.R. nicht mehr.
/dev/hda: Model=WDC WD2500BEVE-00WZT0, FwRev=01.01A01, SerialNo=WD-WXE0E49V1027 Config={ HardSect NotMFM HdSw>15uSec SpinMotCtl Fixed DTR>5Mbs FmtGapReq } RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=50 BuffType=unknown, BuffSize=8192kB, MaxMultSect=16, MultSect=16 CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=488397168 IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120} PIO modes: pio0 pio3 pio4 DMA modes: mdma0 mdma1 mdma2 UDMA modes: udma0 udma1 udma2 udma3 udma4 *udma5 AdvancedPM=yes: unknown setting WriteCache=enabled Drive conforms to: Unspecified: ATA/ATAPI-1,2,3,4,5,6,7 * signifies the current active mode
Erfahren lassen sich so:
Parameter | Wert |
---|---|
Modelbezeichnung | WDC WD2500BEVE-00WZT0
|
Firmware Version | 01.01A0
|
Seriennummer | WD-WXE0E49V1027
|
Anmerkung: Manche CD/DVD Laufwerke haben keine Seriennummer und liefern hier nur die des eingelegten Mediums. | |
Laufwerkscache | BuffSize=8192kB
|
Anmerkung: Die Größe, welche Das Laufwerk selbst meldet, ist oft etwas geringer, als der Hersteller angibt. Das kann entweder daran liegen, dass der Wert schlicht falsch ist, oder ein Teil des Caches vom Laufwerkscontroller für interne Zwecke genutzt wird. | |
maximale Multsect | MaxMultSect=16
|
aktuelle Multsect | MultSect=16
|
Geometrie | CurCHS=16383/16/63
|
LBA Unterstützung | LBA=yes
|
maximale LBA Sektoren | LBAsects=488397168
|
unterstützte und aktivierte PIO Modes | pio0 pio3 pio4
|
unterstützte und aktivierte UDMA Modes | udma0 udma1 udma2 udma3 udma4 *udma5
|
APM Unterstützung | AdvancedPM=yes
|
Schreibcache-Status | WriteCache=enabled
|
unterstützte ATA Version(en) | Unspecified: ATA/ATAPI-1,2,3,4,5,6,7
|
Aktivierte/gesetzte Eigenschaften sind mit einem "*" gekennzeichnet.
- -I
- Da sich diese Werte zur Laufzeit geändert haben können, ist es möglich, mit "-I" die "Identify-Informationen" vom Laufwerk zu holen, welche wesentlich umfangreicher ausfallen.
/dev/hda: ATA device, with non-removable media Model Number: WDC WD2500BEVE-00WZT0 Serial Number: WD-WXE0E49V1027 Firmware Revision: 01.01A01 Standards: Supported: 8 7 6 5 Likely used: 8 Configuration: Logical max current cylinders 16383 16383 heads 16 16 sectors/track 63 63 -- CHS current addressable sectors: 16514064 LBA user addressable sectors: 268435455 LBA48 user addressable sectors: 488397168 Logical/Physical Sector size: 512 bytes device size with M = 1024*1024: 238475 MBytes device size with M = 1000*1000: 250059 MBytes (250 GB) cache/buffer size = 8192 KBytes Capabilities: LBA, IORDY(can be disabled) Standby timer values: spec'd by Standard, with device specific minimum R/W multiple sector transfer: Max = 16 Current = 16 Advanced power management level: 254 Recommended acoustic management value: 128, current value: 254 DMA: mdma0 mdma1 mdma2 udma0 udma1 udma2 udma3 udma4 *udma5 Cycle time: min=120ns recommended=120ns PIO: pio0 pio1 pio2 pio3 pio4 Cycle time: no flow control=120ns IORDY flow control=120ns Commands/features: Enabled Supported: * SMART feature set Security Mode feature set * Power Management feature set * Write cache * Look-ahead * Host Protected Area feature set * WRITE_BUFFER command * READ_BUFFER command * NOP cmd * DOWNLOAD_MICROCODE * Advanced Power Management feature set SET_MAX security extension * Automatic Acoustic Management feature set * 48-bit Address feature set * Device Configuration Overlay feature set * Mandatory FLUSH_CACHE * FLUSH_CACHE_EXT * SMART error logging * SMART self-test * General Purpose Logging feature set * 64-bit World wide name * IDLE_IMMEDIATE with UNLOAD * Segmented DOWNLOAD_MICROCODE * SMART Command Transport (SCT) feature set * SCT Long Sector Access (AC1) * SCT LBA Segment Access (AC2) * SCT Error Recovery Control (AC3) * SCT Features Control (AC4) * SCT Data Tables (AC5) unknown 206[13] (vendor specific) Security: Master password revision code = 65534 supported not enabled not locked frozen not expired: security count not supported: enhanced erase 96min for SECURITY ERASE UNIT. Logical Unit WWN Device Identifier: 50014ee202e2a687 NAA : 5 IEEE OUI : 0014ee Unique ID : 202e2a687 HW reset results: CBLID- above Vih Device num = 0 determined by the jumper Checksum: correct
Im Abschnitt "Configuration" sind die Angaben von logischer und physischer Sektorgröße von aktuell hoher Bedeutung. Sind diese identisch und von bisher typischen 512 Byte, ist nichts zu beachten. Jedoch kann die physische, im Zuge größerer Festplattenkapazitäten, höherer Datendichten oder anderer Speicher-Technologien, ein vielfaches davon sein. Beispielsweise eine ältere 1" CF-HDD:
Logical Sector size: 512 bytes Physical Sector size: 1024 bytes device size with M = 1024*1024: 3906 MBytes device size with M = 1000*1000: 4095 MBytes (4 GB)
Oder eine moderner 1TB HDD mit Advanced Format (AF):
Logical Sector size: 512 bytes Physical Sector size: 4096 bytes Logical Sector-0 offset: 0 bytes device size with M = 1024*1024: 953869 MBytes device size with M = 1000*1000: 1000204 MBytes (1000 GB)
Um Geschwindigkeitseinbußen oder gar schnellere Alterung einer SSD zu vermeiden, müssen Partionsgrenzen diesen Sektorgrößen angepasst werden. Siehe hierzu im Forum: Vorlage:DebianforumDiskussion, Vorlage:DebianforumDiskussion, Vorlage:DebianforumDiskussion und hier: Ubuntuusers Wiki Alignment.
Zusätzlich gibt es z.B. unter „Commands/features“ viele Einzelheiten über erweiterte Befehle/Funktionen. Zum Beispiel über S.M.A.R.T., HPA, Security Feature Set, APM, AAM, GP-Logging, SCT usw. Die aufgelisteten Eigenschaften können sich stark, in Abhängigkeit von Gerätemodell, hdparm-Version und anderer Hardware, unterscheiden.
Leistungsoptimierungen
Insbesondere bei älterer Hardware kann es vorkommen, dass sich das System träge anfühlt, Kopiervorgänge ewig dauern oder Videos beim Abspielen ruckeln. Da die Festplatte oft das langsamste Element in einem PC ist, sollte man hier mit der Suche ansetzen.
Durchsatztest
Vorlage:Hinweis Hierfür dienen die hdparm-Schalter „-t“ und „-T“.
- -T
- Testet die Performance des System Caches. Hierbei wird ohne Festplattenzugriff direkt aus dem Linux Puffer Cache gelesen und somit der Durchsatz des Prozessors, Caches und Arbeitsspeichers bestimmt. Der Aufruf sollte 2 oder mehrmals wiederholt werden, um einen stabilen Wert zu erhalten. Auch wenn es keinen Einfluss hat, muss trotzdem ein device angegeben werden.
- Beispielsweise auf einem modernen System mit Mehrkern-CPU und DDR3 Ram könnte die Ausgabe so aus sehen:
- Vorlage:RootShell
/dev/sda:
- Timing cached reads: 6678 MB in 2.00 seconds = 3345.76 MB/sec
- Auf einem älteren Pentium 4 mit DDR1 Speicher:
- Vorlage:RootShell
/dev/hda:
- Timing cached reads: 540 MB in 2.01 seconds = 269.23 MB/sec
- -t
- Dieser Test liest direkt über den System Cache vom angegebenen Laufwerk. Hierbei ist zu beachten, dass dies die reine Netto-Datenrate zwischen Laufwerk und Chipsatz und dem vorhandenen Kernel Modul ist. Deshalb sollte der Test wie bei „-T“ mehrmals wiederholt werden, wobei möglichst darauf geachtet werden sollte, dass keine weiteren Festplattenzugriffe stattfinden, die das Ergebnis verfälschen würden.
- --direct
- Dieser Schalter, in Verbindung mit „-t“, übergeht selbst den System Cache und liest so direkt vom Laufwerk. Der Wert gibt so den reinen Durchsatz, welchen Laufwerk, Chipsatz und Treiber bieten.
- --offset
- Hier kann ein Versatz in GiB angegeben werden, ab dem "hdparm -t" die Messung vor nimmt. Mit dem Hintergrund, dass mechanische Laufwerke (z.B. Festplatten) am Anfang, also im äußersten Bereich der Platter, schneller sind, als im Inneren. Das Verhalten kann mit diesem Schalter nachvollzogen werden. Bei Flash-Speichern gibt es womöglich keine Variationen.
- Anmerkung: Der Offset sollte maximal ca. 10% unter der Laufwerkskapazität liegen.
Beispiele an einer 500 GB SATA Festplatte: Vorlage:RootShell
/dev/sdc: Timing buffered disk reads: 230 MB in 3.00 seconds = 76.55 MB/sec
Ein normaler Test. Vorlage:RootShell
/dev/sdc: Timing O_DIRECT disk reads: 232 MB in 3.02 seconds = 76.86 MB/sec
Mit --direct gibt es quasi keinen Unterschied auf diesem System. Vorlage:RootShell
/dev/sdc: Timing O_DIRECT disk reads (offset 250 GB): 196 MB in 3.02 seconds = 64.83 MB/sec
Bei 250 GiB, also der halben Kapazität, geht der Durchsatz schon deutlich zurück. Vorlage:RootShell
/dev/sdc: Timing O_DIRECT disk reads (offset 460 GB): 116 MB in 3.03 seconds = 38.34 MB/sec
Kurz vor Ende ist er auf dem Minimum. Das ist bei allen Festplatten ähnlich, ungefähr ein Unterschied von 50% zum äußersten Bereich.
Anmerkung: Die grafische Darstellung der Schreib- und Leserate sowie der Zugriffzeiten über den gesamten Bereich können seit Squeeze mit palimpsest aus dem Paket Vorlage:Deb durchgeführt werden.
Optimierungen
Die Wirkung und Unterstützung unterscheidet sich bei den Herstellern und Modellen. Die Schalter mit ihrer Funktion:
- -a Stellt die Sektorenzahl für den FS-Readahead ein.
- -A schaltet die „read-lookahead“-Funktion einer IDE-Festplatte ein oder aus. Normalerweise ist diese Funktion bereits aktiviert.
- -c zeigt den Status oder aktiviert den (E)IDE-32-Bit-I/O-Support. Die Parameter hier für sind: 0, um den Support zu deaktivieren, und 1, um den Support zu aktivieren. Der Wert 3 aktiviert den 32-Bit-Support mit einer speziellen Sync-Sequenz, die von einigen Chipsets benötigt wird. Diese Option funktioniert mit fast allen Chipsets, bringt jedoch etwas mehr Overhead mit sich. Wird kein Parameter angegeben, so wird die aktuelle Einstellung angezeigt. Wirkt sich nur auf die Verbindung zwischen Chipsatz und PCI Bus aus.
- -d zeigt, ob für das genannte Gerät der DMA-Modus benutzt wird, oder aktiviert/deaktiviert den Modus. Das Flag „using_dma“ funktioniert nur mit wenigen Kombinationen aus Festplatte und Controllern. Beispielsweise wird beim Intel Triton Chipset der Bus-Master-DMA-Modus in Verbindung mit vielen Festplatten unterstützt. Wenn möglich, sollte die Option -X34 zusammen mit -d1 benutzt werden, um sicherzustellen, dass das Laufwerk selbst den Multiword DMA Modus 2 unterstützt.
- -E setzt die CD/DVD Geschwindigkeit. Wird normalerweise nicht benötigt und manchmal ignoriert.
- -f synchronisiert und speichert den Cache-Puffer der Festplatte beim Beenden des Programms. Dieser Vorgang wird auch bei den Optionen -t und -T durchgeführt. Gleiches wird mit dem Konsolenbefehl "sync" bewirkt.
- -F schreibt, wenn unterstützt, den Schreibcache des Laufwerks.
- -g zeigt die Festplattengeometrie, also Angaben zu Zylinder, Köpfe, (Sektoren), die Größe (in Sektoren) des Laufwerkes und den Offset (in Sektoren) des Devices vom Anfang der Festplatte.
- -k liest oder setzt das Flag "keep_settings_over_reset" für das Laufwerk. Wenn diese Option gesetzt ist, werden die Optionen -dmu über einen (Soft-) Reset hinaus gespeichert.
- -K setzt das Flag "keep_features_over_reset". Das Setzen dieser Option rettet die Einstellungen -APSWXZ über einen (Soft-) Reset hinaus. Diese Option wird nicht von allen Laufwerken unterstützt.
- -m Gibt an, wie viele Sektoren mit einem I/O Interrupt gleichzeitig geholt werden. Als Wert 0, 2 oder ein vielfaches davon.
- -M stellt das Automatic Acoustic Management (AAM) ein. Steuert die Geschwindigkeit der Kopfbewegungen, was die Geräuschentwicklung und die Performance beim Suchen beeinflusst. Theoretisch von 1 ...255. Viele unterstützen nur drei Zustände, die oft auf 0 = aus; 128 = leise und 254 = laut fallen.
- -p versucht, das IDE-Interface-Chipset auf den gewünschten PIO-Modus zu setzen oder den bestmöglichen PIO-Modus einzustellen.
- -q unterdrückt die Ausgabe von Meldungen für die folgenden Optionen. Dies kann eingesetzt werden, wenn hdparm aus einer Datei beim Systemstart heraus aufgerufen wird. Diese Option hat keine Auswirkungen auf die Optionen -i, -v, -t oder -T.
- -r liest oder setzt das „Read-Only-Flag“. Damit ist kein Schreiben auf das Laufwerk mehr möglich.
- -u liest oder setzt das „interrupt-unmask“-Flag. Dies kann auf vielen Systemen die Reaktionszeit des Systems verbessern, ist aber mit Vorsicht einzusetzen, da nicht alle Chipsets diese Funktion richtig umsetzen können. Ein Wert von 1 aktiviert diese Funktion.
- -W aktiviert oder deaktiviert bei einem IDE-Laufwerk die Funktion "write-caching" Erhöht die Schreibleistung, riskiert bei plötzlichem Stromausfall aber Datenverlust (da der Festplattencache nicht geschrieben werden kann). Dies ist Standardmäßig aktiviert.
- -X setzt den IDE-Übertragungsmodus bei neueren (E)IDE/ATA2-Laufwerken. Diese Option wird meistens zusammen mit -d1 benutzt, um den DMA-Modus von/zu einem Laufwerk mit Chipsets, die dies unterstützen (beispielsweise Intel 430FX Triton), zu aktivieren. Dort können dann auch mit -X34 „Multiword-DMA-mode2“-Übertragungen aktiviert werden. Die Option -X66 aktiviert UltraDMA-Mode2-Übertragungen. Nützlich, um z.B. Übertragungsfehler (CRC Fehler) zu vermeiden und einem schrittweisen, automatischen herabsetzen durch ein schlechtes Kabel zuvor zu kommen.
Energieverwaltung
Für die Energieverwaltung lassen sich folgende Schalter verwenden.
- -B setzt den APM Parameter, wenn es unterstützt wird. Die Implementierungen der Hersteller sind sehr verschieden, jedoch ist folgende Einteilung üblich: 1 ... 127 beinhaltet ein Spin-Down; 128 ... 254 nicht. Die aggressivste Einstellung ist 1, die schwächste 254. 255 schaltet APM aus, wenn möglich. Eine wichtige Einstellung, um die Lebensdauer bestimmter Festplatten zu verlängern; u.a. hier diskutiert: Vorlage:DebianforumDiskussion
- -C zeigt den aktuellen „Power-Mode-Status“ einer IDE-Festplatte an. Dieser kann folgende Werte annehmen: „unknown“ - Das Laufwerk unterstützt dieses Kommando nicht; „active“/„idle“ - Normalbetrieb; „standby“ - Low Power Modus, die Festplatte dreht sich nicht oder „schläft“ sogar komplett. Die Optionen -S, -y, -Y und -Z können zur Veränderung der IDE-Power-Modes verwendet werden.
- --idle-immediate versucht einen geringeren Energiemodus zu erreichen. Die Spindel läuft weiter.
- --idle-unload versucht die Köpfe zu parken. Die Spindel läuft weiter. Beide Optionen erst ab hdparm Version 9.3.
- -S setzt die Standby-Zeit des Gerätes. Nach der eingestellten Zeit fährt die Festplatte in den Ruhezustand (entspricht -y). Ein Wert von 0 schaltet diese Funktion aus, maximal bis 255. Die Einteilung ist nicht linear, man muss etwas probieren um auf die gewünschte Zeit zu kommen.
- -y setzt das Laufwerk sofort in den Standby Modus, die Spindel stoppt dabei. Bei Zugriffen wacht es automatisch wieder auf.
- -Y setzt das Laufwerk in den Sleep Modus, welcher am wenigsten Energie benötigt. Die Spindel stoppt auch hier. Normalerweise wird es bei Zugriffen automatisch aufgeweckt. Die benötigte Startzeit ist etwas länger als im Standby Modus.
- -Z deaktiviert die automatische Energiespar-Funktion einiger älterer Seagate Festplatten um ungünstige Spin-Downs zu verhindern.
Konfiguration
Fast alle Einstellungen, die mit hdparm verändert werden, bleiben nur bis zum nächsten Systemstart erhalten. Um dem entgegenzuwirken, gibt es unter /etc/hdparm.conf eine Konfigurationsdatei, die günstiger Weise schon mit selbsterklärenden Beispielen und Beschreibungen gefüllt ist. Eines muss noch erwähnt werden. Durch die neuen libata Treiber spielt es keine Rolle mehr, an welchem IDE Kanal ein Laufwerk Master oder Slave ist - die Device-Nodes unter /dev werden beim Start per Zufall nummeriert. Will man aber für bestimmte Laufwerke bestimmte Einstellungen setzen, bietet es sich an, die automatisch von udev generierten Symbolischen Links unter /dev/disk/ zu verwenden. Demnach kann ein Block zum Beispiel so aussehen:
/dev/disk/by-id/ata-Hitachi_HDT725050VLA380_VFJ401R41S702K { apm = 128 acoustic_management = 128 spindown_time = 240 }
Sollten Probleme auftreten, weil hdparm zu früh gestartet wird, kann man probieren, das Init-Skript mit einer höheren Startnummer zu versehen. Beispiel: Vorlage:RootShell
Anmerkung: Nach dem Resume von einem Suspend-to-ram/to-disk wird die hdparm.conf leider übergangen und die getätigten Einstellungen überschrieben. Zur Abhilfe muss man sich entweder an der Datei /etc/default/hdparm oder an entsprechenden pm-util Skripten vergreifen bzw. eigene erstellen, wie hier vorgeschlagen: Vorlage:DebianforumDiskussion