ATA, UDMA und hdparm
![]() | Wer kauft schon ein moderes, schnelles IDE-System, um es dann im langsamen und CPU-belastenden PIO-4 Modus laufen zu lassen. 4,58MB/sek anstatt >55,3MB/sek - wer will das schon. Dieser Bericht zeigt, wo die Distributionen den sicheren Weg auf Kosten der Geschwindigkeit bevorzugen. |
Geschwindigkeit versus Kompatibilität
Da die Distributionen auf möglichst allen Systemen von Anfang an laufen sollen,
wird meist die Optimierung unter den Tisch fallen gelassen. Dabei geht es den Benutzern doch auch
um die Geschwindigkeit. So schalten die meisten Benutzer nach der Installation Dienste wie
Apache (WWW-Server), ProFTPD (FTP-Server) usw. aus, da diese eh nur den Bootvorgang verlängern und
nicht benötigt werden.
Trotzdem sind schnelle Festplatten, ein schnelles System und ein Betriebssystem, das mit den Fähigkeiten
des Systems umgehen kann, das A und O wenn es um Geschwindigkeit geht. Also kauft man mindestens UDMA-66 Systeme
mit entsprechend schnellen Festplatten. Das Referenz-System weist folgende Komponenten auf:
| Systemkomponenten | ||||||||
|
Hardwareinstallation
Sollten Sie Ihren PC selbst zusammengebastelt haben, so werden meist kleine Fehler gemacht, die allerdings auch in einem
Billig-Komplett-System anzutreffen sind. Aber auch Dell, Compaq und HP können sich - aus meiner Erfahrung - nicht
freisprechen. Es interessieren uns nun genauer das IDE-Verbindungskabel und die Festplatte.
Das Verbindungskabel sollte die Spezifikationen von Standard-IDE-Kabeln einhalten;
| Kabelspezifikationen | ||||
|
Die Festplatte sollte, wie schon gesagt, nicht in der Nähe von einem CD-Rom-Laufwerk oder des Netzteils installiert werden, da der Lüfter und die elektromagnetische Strahlung die Festplatte stören können. Also am Besten wie auf diesen Bildern montieren:
| Beispielinstallation | ||
|
Wie stelle ich Linux ein?
Für diese Aufgabe gibt es unter Unix und GNU/Linux ein berühmt-berüchtigtes Programm mit dem Befehl:
>> hdparmDieses nette Gnu-Programm erlaubt die Parameteränderung des laufenden IDE-Systems, d.h. dass die Geschwindigkeit geändert werden kann. Die Syntax des Programmes ist ein wenig eigenwillig, jedoch versetzen die übergebenen Optionen meist Berge - mit einer atemberaubenden Geschwindigkeit.
| hdparm-Parameter | |||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||
testen und konfigurieren
Wie schon angesprochen, sollten Sie wissen, was Ihre Hardware verträgt. Am Besten Sie
schauen in der Betriebsanleitung Ihrer Festplatte und Ihres Mainboards nach.
Wenn Sie diese Informationen vorliegen haben, geht es ans Testen, wie schnell Linux die
Hardware mit möglichst wenig Fehlern betreiben kann. Also öffnen wir zwei Konsolen (xterm),
und loggen uns in beiden als Root ein (Befehl: su). In der zweiten geben wir diesen
Befehl ein:
>> tailf /var/log/messageNun werden wir in dieser Sitzung fortlaufend über Fehler und Systemmeldungen des Systema informiert.
Die andere Sitzung wird zum Testen gebraucht. Hier testen wir, wie weit das System optimiert werden kann. Aber bitteschön mit Vorsicht - nicht mehr als die Hardware mitmacht! Also gehen wir es an:
HDPARM wird zunächst zur Herausgabe der aktuellen Betriebsparameter gebeten. Mittels
>> hdparm -v -i /dev/hdaerzählt uns hdparm alles, was wir gerade wissen wollen - mit welchen Parametern das System gerade läuft und was die Festplatte mitmacht. Eine Zeile wie
DMA modes: mdma0 mdma1 mdma2 udma0 udma1 udma2 *udma3 udma4 udma5wird direkt von der Festplatte gelesen und zeigt an, welche Modi unterstützt werden und welcher gerade aktiv ist. Der Eintrag, vor dem der Stern (*) zu sehen ist, entspricht dem aktiven Übertragungsmodus. Also in diesem Fall UltraDMA mode 3 (UDMA33). Da Ihre Festplatte wahrscheinlich eine andere Auswertung liefert, müssen Sie ggf. etwas raten.
Ab ans Testen heisst jetzt das Motto. Ein Blick auf die zweite Sitzung nach jeder Ausführung eines hdparm ist unumgänglich. Also wagen wir uns langsam an eine angemehme Geschwindigkeit heran:
>> hdparm -dy -Xzz -i -v -t /dev/hdaerzeugt, dass die Festplatte 1 (/dev/hda) in einen noch unbestimmten Modus mit oder ohne DMA-Benutzung versetzt wird. Sollte der Wert zz > 4 sein, so sollte y durch 1 ersetzt werden, da ansonsten der Modus keine Änderung der Geschwindigkeit bewirkt. Der Parameter -t bewirkt, dass automatisch die Geschwindigkeit gemessen wird. Es wird geprüft, wie schnell die Festplatte 64MB an die CPU übertragen kann.
Mit einer kontinuierlichen Steigerung des zz Wertes kann das System zu Höchstleistungen getrimmt werden. Sie sollten jedoch immer einen Blick auf die zweite Sitzung werfen. Wenn bei jeder Festplatten-Aktion etwa folgendes zu sehen ist, sollten Sie wieder eine Stufe herunterschalten:
hda: dma_intr: status=0x51 { DriveReady SeekComplete Error }
hda: dma_intr: error=0x84 { DriveStatusError BadCRC }
Nach dem Neustart
Windows, Linux, BeOS & Co. haben auch die Aufgabe, die Hardware beim Starten in einen korrekten Zustand zu versetzen. Also, müssen Sie Linux klar machen, dass die Festplatte (in diesem Fall /dev/hda) in einen bestimmten Zustand versetzt werden soll, d.h. die Parameter eingestellt werden müssen. Also schnell mal /etc/rc.sysinit in einem Texteditor öffnen und den letzten erfolgreichen "hdparm-Befehl" in die vorletzte Zeile kopieren. Nach jedem Neustart wird nun das Laufwerk und der Chipsatz in einen Modus mit einer angenehmen Geschwindigkeit versetzt.
Referenzdaten
Auf dem Testsystem lief die Festplatte nach der Installation von Linux Mandrake 8.1 im mdma1-Modus (MultiWord-DMA mode1) mit einem Durchsatz von 10.76 MB/sec. Nach dem Tuning-Vorgang lief das System stabil im uDMA4-Modus (Ultra-DMA mode4) mit einem konstanten Durchsatz vom 51.20 MB/sec. Somit wurde der Durchsatz verfünfacht!
Das hier beschriebene Programm hdparm kann das System zu "unerwartet" hohen Werten "zwingen". Dabei entsteht ein nicht zu verachtendes Risiko, dass das System die Daten auf der Festplatte zerstört. Dies kann bis zur Zerstörung des Chipsatzes auf dem Mainboard und der Festplatte führen. Sollten Sie also wichtige Daten auf dem System lagern oder Ihnen Ihre Hardware wichtig sein, gehen Sie bitte besonders vorsichtig vor.
Anmerkungen zu diesem Artikel
| [2] | Arbeiten mit HDPARM | ahachmann | 25-9-2003 |
Eigene Anmerkung eintragen


