Hdparm: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
|||
Zeile 110: | Zeile 110: | ||
<syntaxhighlight lang="bash" highlight="1" line> | <syntaxhighlight lang="bash" highlight="1" line> | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== Alle Informationen anzeigen === | === Alle Informationen anzeigen === | ||
# '''hdparm -I /dev/sdb''' | # '''hdparm -I /dev/sdb''' |
Version vom 10. März 2025, 12:26 Uhr
hdparm - anzeigen, testen und setzen von Hardwareparametern für ATA-Festplattenlaufwerke
Beschreibung
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
- Hardwareparameter
- Laufwerks-Caches
- Ruhemodus
- Energieverwaltung
- akustische Verwaltung
- DMA-Einstellungen
Installation
sudo apt install hdparm
Aufruf
sudo hdparm [Optionen] [Gerät ...]
Optionen
Unix | GNU | Parameter | Beschreibung |
---|---|---|---|
Option | 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. |
Parameter
Umgebungsvariablen
Exit-Status
Anwendung
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
Problembehebung
Konfiguration
Dateien
Datei | Beschreibung |
---|---|
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
Anhang
Siehe auch
Dokumentation
- Man-Page
- Info-Pages
Links
Projekt
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
- 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