Der Befehl hdparm
In diesem Beitrag lernen Sie den Befehl hdparm (hard disk parameter) kennen, welcher unter Linux-/UNIX-Betriebssystemen eingesetzt wird, um Parameter für ATA-Laufwerke zu lesen und zu setzen. Neben der allgemeinen Syntax werden einige der wichtigsten und meistverwendeten Optionen des Befehls vorgestellt.
Beachten Sie, dass hdparm grundsätzlich ein Werkzeug für fortgeschrittene Nutzer ist. Bei unsachgemäßer Verwendung des Befehls kann es zu Instabilitäten sowie unumkehrbaren Schäden an den Laufwerken kommen.
Allgemeine Syntax
Die Syntax des Befehls hdparm lautet grundsätzlich folgendermaßen:
hdparm [Optionen] [Gerät(e)]
Werden dem Befehl keine Optionen übergeben, so wird er standardmäßig automatisch mit den Optionen -acdgkmur ausgeführt - dies entspricht der verbose-Option -v. Die Ausführung des Befehls ohne Optionen ist daher analog zu den folgenden Eingaben:
hdparm -acdgkmur [Gerät(e)]
bzw.
hdparm -v [Gerät(e)]
Ausgegeben werden so grundlegende Daten zum betreffenden Laufwerk - beispielsweise DMA, multiple-sector-count, read-only, read-ahead und die Geometrie.
Beispiel: hdparm ohne Optionen
Eingabe:
hdparm /dev/sda3
Ausgabe:
Ausgegeben werden die für das Gerät /dev/sda3 konfigurierten Werte für "multcount", "readonly", "readahead" und "geometry".
Wichtige Optionen
Im Folgenden werden die wichtigsten Optionen von hdparm vorgestellt. Die Optionen werden dabei in 3 Abschnitte unterteilt: Zunächst werden solche Optionen vorgestellt, die lediglich für die Ausgabe von Geräteinformationen verwendet werden. Anschließend folgen einige Optionen zur Konfiguration bzw. für die Durchführung von Optimierungen.
Ausgabe von Geräteinformationen
-i - Detaillierte Informationen
Mit der Option -i lassen sich detaillierte Informationen zum gewählten Laufwerk abrufen, welche zur Boot- bzw. Konfigurationszeit von den Kernel-Treibern gespeichert wurden. Je nach Aktivität seit dem Booten des Systems kann sich die Ausgabe von den aktuellen, vom Laufwerk selbst abrufbaren, Informationen unterscheiden. Nutzen Sie daher auch die Option -I, um aktuelle Informationen zu erhalten.
hdparm -i [Gerät(e)]
Zu den ausgegebenen Informationen gehören die Modell-Bezeichnung, Firmware-Version, Seriennummer, die Kapazität des Laufwerkscache und viele weitere Parameter.
-I - Aktuelle detaillierte Informationen
Noch einmal wesentlich umfangreicher ist die Ausgabe der Option -I. Die Informationen werden hierbei direkt aus dem Laufwerk ausgelesen, sind also - auch wenn sich Werte zur Laufzeit geändert haben - jederzeit aktuell.
hdparm -I [Gerät(e)]
Die Ausgabe ist in mehrere Abschnitte eingeteilt: So werden neben allgemeinen Daten zum ATA-Gerät selbst (ATA device) auch Standards, die Konfiguration (Configuration), Kapazitäten (Capabilities), aktivierte bzw. deaktivierte Funktionen (Commands/features), sowie einige weitere fortgeschrittene Informationen ausgegeben. Je nach Gerätemodell, hdparm-Version und anderer Hardware kann sich die Ausgabe stark unterscheiden.
Beispiel: hdparm -I
Eingabe:
hdparm -I /dev/sda4
Ausgabe:
In der Ausgabe werden detaillierte Ausgaben zum Laufwerk /dev/sda4 angezeigt. Es ist zu beachten, dass es sich bei dem Gerät /dev/sda4 in diesem und allen folgenden Beispielen um eine virtuelle Festplatte handelt.
-T - System-Cache testen (kein Festplattenzugriff)
Mit der Option -T kann die Performance des System-Cache überprüft werden.
hdparm -T [Gerät(e)]
Angezeigt wird die Lesegeschwindigkeit aus dem Linux-Puffer-Cache ohne Plattenzugriff - die Ausgabe gibt somit im wesentlichen einen Hinweis auf den Durchsatz des Prozessors, Caches und Arbeitsspeichers des Systems.
Zwar nimmt die Angabe des Geräts keinen Einfluss auf das Ergebnis der Messung, so muss diese trotzdem vorhanden sein.
Beispiel: hdparm -T
Eingabe:
hdparm -T /dev/sda4
Ausgabe:
In der Ausgabe findet sich nun die Lesegeschwindigkeit aus dem Linux-Puffer-Cache - der Gerätename /dev/sda4 wird angezeigt, steht jedoch in keinem Zusammenhang zu den ausgegebenen Werten. Die Lesegeschwindigkeit aus dem Linux-Puffer-Cache beträgt hierbei etwa 3760 MB/s.
-t - System-Cache testen (Festplattenzugriff)
Auch mit der Option -t ist ein Performance-Test möglich. Diesmal wird jedoch die Lesegeschwindigkeit über den Puffer-Cache aus dem angegebenen Laufwerk, ohne vorherige Zwischenspeicherung der Daten, angezeigt.
hdparm -t [Gerät(e)]
Die mit der Option -t durchgeführte Messung gibt damit einen Hinweis auf die Geschwindigkeit sequentieller Lesevorgänge unter Linux ohne jeglichen Dateisystem-Overhead. Es handelt sich damit um die reine Netto-Datenrate zwischen dem gewählten Laufwerk, Chipsatz und dem vorhandenen Kernel-Modul.
Beispiel: hdparm -t
Eingabe:
hdparm -t /dev/sda4
Ausgabe:
Nach Durchführung des Tests wird die Lesegeschwindigkeit über den Puffer-Cache aus dem Laufwerk /dev/sda4 ausgegeben. In diesem Fall beträgt die Geschwindigkeit etwa 71 MB/s.
Zusätzlich kann auch noch die Option --direct angehängt werden: Der System-Cache wird dann vollständig übersprungen, sodass der direkte Laufwerks-Durchsatz gemessen wird.
hdparm -t --direct [Gerät(e)]
Beispiel: hdparm -t --direct
Eingabe:
hdparm -t --direct /dev/sda4
Ausgabe:
Dieser Test, bei welchem der System-Cache vollständig übersprungen wurde, zeigt eine deutlich höhere Lesegeschwindigkeit.
Konfiguration / Optimierungen
-a - Sektorenzahl für den FS-Readahead
Mit der Option -a kann die Sektorenzahl für den Filesystem-Readahead ausgegeben und eingestellt werden. Bei der Ausführung ohne Optionen wird die aktuelle Sektorenzahl ausgegeben:
hdparm -a [Gerät(e)]
Beispiel: hdparm -a
Eingabe:
hdparm -g /dev/sda4
Ausgabe:
Der Ausgabe ist zu entnehmen, dass das Filesystem-Readahead eingeschaltet ist (on) und mit der Sektorenzahl 256 konfiguriert ist.
-A - read-lookahead Funktion
Die Option -A wird verwendet, um den Zustand der "read-lookahead"-Funktion einer IDE-Festplatte abzufragen oder zu setzen. Werden keine Parameter angegeben, so gibt hdparm den aktuellen Stand aus:
hdparm -A [Gerät(e)]
Zum Aktivieren bzw. Deaktivieren der Funktion wird der Option noch eine 1 (Aktivieren) bzw. 0 (Deaktivieren) angehängt. Wichtig ist, dass zwischen der Option -A und dem zusätzlichen Parameter kein Leerzeichen angegeben wird:
hdparm -A[0 / 1] [Gerät(e)]
-b - Bus-Status
Bei Verwendung der Option -b wird der Bus-Status des angegebenen Geräts ausgegeben:
hdparm -b [Gerät(e)]
-c - (E)IDE 32-bit I/O Support
Mit der Option -c können Sie, bei Weglassen jeglicher Parameter, den Status des (E)IDE 32-bit I/O Support abfragen:
hdparm -c [Gerät(e)]
Bei der Eingabe von Parametern für die Option -c haben Sie mehrere Möglichkeiten: Mit dem Parameter 0 deaktivieren Sie die 32-bit I/O Untersützung, 1 aktiviert sie, und der Parameter 3 aktiviert die 32-bit I/O Unterstützung schließlich mit einer speziellen Sync-Sequenz, welche von einigen Chipsets benötigt wird. Grundsätzlich funktioniert der Wert 3 mit fast allen 32-bit IDE Chipsets, so bringt er jedoch etwas mehr Overhead mit sich.
hdparm -c [0 / 1 / 3] [Gerät(e)]
Beachten Sie, dass die "32-bit" sich allein auf den Datentransfer über einen PCI- oder VLB-Bus an die Schnittstelle beziehen.
-d - DMA-Modus
Die Option -d zeigt bei Eingabe ohne Parameter, ob der DMA-Modus für das angegebene Gerät aktiviert ist:
hdparm -d [Gerät(e)]
Zum Aktivieren des DMA-Modus wird der Option -d eine 1 angehängt - zum Deaktivieren dementsprechend eine 0:
hdparm -d[0 / 1] [Gerät(e)]
Zwar wird in den meisten Fällen automatisch der korrekte DMA-Modus ausgewählt, so sollte bei Aktivierung mit -d1 bestenfalls auch immer die passende Option -X angewendet werden.
-g - Festplattengeometrie
Zeigt die Festplattengeometrie des angegebenen Geräts an - dazu gehören Zylinder, Köpfe, Sektoren sowie Größe- und Offset vom Anfang der Festplatte in Sektoren.
hdparm -g [Gerät(e)]
Beispiel: hdparm -g
Eingabe:
hdparm -g /dev/sda4
Ausgabe:
In der Ausgabe wird die Festplattengeometrie des Geräts angezeigt. Die Angaben sind dabei unterteilt in "geometry", (Zylinder / Köpfe / Sektoren), "sectors" und "start".
-k - Einstellungen beibehalten
Mit der Option -k lässt sich der Zustand des "keep_settings_over_reset"-Flag abfragen und setzen. Ist das Flag gesetzt, so werden die Optionen -d, -m und -u auch über einen (Soft-)Reset hinaus erhalten. Der aktuelle Zustand des Flag wird folgendermaßen abgefragt:
hdparm -k [Gerät(e)]
Durch Hinzufügen einer 1 (zum Aktivieren) oder einer 0 (zum Deaktivieren) lässt sich der Zustand verändern:
hdparm -k[0 / 1] [Gerät(e)]
Standardmäßig ist das Flag nicht gesetzt, um Laufwerk-Reset-Schleifen zu verhindern, welche von verschiedenen Kombinationen der Optionen -d, -m und -u hervorgerufen werden können. Vor Anwendung der Option -k ist daher möglichst der korrekte Systembetrieb mit dem gewählten Satz von Einstellungen sicherzustellen.
-r - Read-Only-Flag
Verwenden Sie zur Abfrage und zum Setzen des Read-Only-Flag eines Geräts die Option -r. Werden keine Parameter angegeben, so wird der aktuelle Stand ausgegeben:
hdparm -r [Gerät(e)]
Auch hier wird das Flag durch Hinzufügen einer 0 (Deaktiviert) oder 1 (Aktiviert) gesetzt:
hdparm -r[0 / 1] [Gerät(e)]
Ist das Flag aktiviert, so erlaubt Linux keine Schreiboperationen auf dem Gerät.
Beispiel: hdparm -r
Eingabe:
hdparm -r /dev/sda4
Ausgabe:
Für das Laufwerk /dev/sda4 wird der aktuelle Zustand des Read-Only-Flag ausgegeben. In diesem Fall ist es deaktiviert (0).
-W - Write-Caching
Die Option -W wird zur Ausgabe sowie zur Aktivierung und Deaktivierung des Write-Caching bei IDE/SATA-Laufwerken verwendet. Die Ausführung ohne Parameter gibt den aktuellen Zustand aus:
hdparm -W [Gerät(e)]
Mit den Parametern 1 und 0 lässt sich das Write-Caching aktivieren oder deaktivieren:
hdparm -W[0 / 1] [Gerät(e)]
Die Option erhöht bei Aktivierung die Schreibleistung, riskiert im Falle eines plötzlichen Stromausfalls aber Datenverlust, da die im Cache befindlichen Daten noch nicht auf die Festplatte geschrieben wurden.
-X - IDE-Übertragungsmodus
Schließlich lässt sich mit der Option -X der IDE-Übertragungsmodus bei neueren (E)IDE/ATA Laufwerken setzen und auslesen. Werden keine Parameter angegeben, so wird der IDE-Übertragungsmodus ausgegeben:
hdparm -X [Gerät(e)]
Mit 0 und 1 kann der Modus gesetzt werden:
hdparm -X[0 / 1] [Gerät(e)]
Die Option -X wird oft in Kombination mit der Option -d1 verwendet, um den DMA-Modus von Laufwerken zu aktivieren, welche diesen unterstützen.
Abonniere JETZT unseren Newsletter!
Verpasse nie wieder neue Beiträge und exklusive Insider-Only-Inhalte!