Tutorials - Festplatten-Optimierung
Sprachenübersicht/Betriebssysteme/Linux/Dateien/Ordner
Festplatten-Optimierung
Diese Seite wurde 4132 mal aufgerufen.
Dieser Artikel wurde in einem Wikiweb System geschrieben, das heißt, Sie können die Artikel jederzeit editieren, wenn Sie einen Fehler gefunden haben, oder etwas hinzufügen wollen.
Editieren Versionen Linkpartnerschaft Bottom Printversion
Keywords: hdparm
Inhaltsverzeichnis
Dieses Tutorial soll die Optimierungsmöglichkeiten des Festplattendurchsatzes unter Linux erläutern.
Bei einem Testrechner konnte damit der Datenfluss von rund 2,5 MByte pro Sekunde auf knapp 23 MByte pro Sekunde gesteigert werden.
Das Tool hdparm ist ideal für diese Aufgabe, da es bei den meisten Linux-Distributionen zur Standardausrüstung zählt und bereits über jahrelange Erfahrung verfügt.
Achtung:
Falsche Einstellungen können zu Datenverlusten führen.
Der Autor sowie online-tutorials.net übernehmen keine Haftung für eventuelle Schäden.
Bevor wir nun mit den Einstellungen und Möglichkeiten des Tunings beginnen können, sollte noch erläutert werden, unter welchen Devices die einzelnen IDE-Geräte angesprochen werden können.
Linux legt für jedes Device standardmäßig eine Datei im /dev-Verzeichnis an (im sogenannten devfs - Device Filesystem).
Die IDE-Geräte werden üblicherweise alphabetisch absteigend beschriftet, wobei die zwei Anfangsbuchstaben (hd - HardDisk) konstant sind:
- /dev/hda - primary master
- /dev/hdc - secondary master
- /dev/hdd - secondary slave
Diese Zuordnung ist nicht davon abhängig, ob diese Geräte tatsächlich am System angeschlossen sind.
Beim SCSI-Bus wird bei der Benennung bei /dev/sda begonnen.
Falls hdparm noch nicht auf ihrem Debiansystem installiert ist, lässt sich dies nachholen mit:
Code:
apt-get install hdparm
Für eine Optimierung ist es wichtig, zunächst die verfügbaren Optionen zu kennen. Die derzeitigen Einstellungen des Busses können mit dem Befehl hdparm <device> abgefragt werden.
Beispiel:
# hdparm /dev/hda
/dev/hda:
multcount = 16 (on)
IO_support = 1 (32-bit)
unmaskirq = 1 (on)
using_dma = 1 (on)
keepsettings = 0 (off)
readonly = 0 (off)
readahead = 256 (on)
geometry = 39714/16/63, sectors = 20496236544, start = 0
Infomationen zur Festplatte erhält man mit der Option -i.
Code:
# hdparm -i /dev/hda
/dev/hda:
Model=FUJITSU MPF3204AT, FwRev=0028, SerialNo=05090050
Config={ HardSect NotMFM HdSw>15uSec Fixed DTR>10Mbs }
RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=4
BuffType=unknown, BuffSize=512kB, MaxMultSect=16, MultSect=16
CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=40031712
IORDY=yes, tPIO={min:240,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 udma3 *udma4
AdvancedPM=yes: disabled (255) WriteCache=enabled
Drive conforms to: ATA/ATAPI-5 T13 1321D revision 1:
* signifies the current active mode
Bei dieser Festplatte wurden die wichtigsten Optionen (UDMA und multcount) bereits aktiviert.
Laut den Eigenschaften des Laufwerks, welche wie oben Abgefragt werden, unterstütz das Laufwerk UDMA4 (UDMA modes) sowie multiple sector I/O bis 16 Blöcke (MaxMultSect).
UDMA steht für Ultra Direct Memory Access und ermöglicht der Festplatte den direkten Zugriff auf den Arbeitsspeicher ohne Umweg über den Prozessor.
Parameter: -d1 (1/0 - on/off)
multiple sector I/O (auch multcount) ermöglicht die Übertragung mehrerer Blöcke wärend eines Interrupts, wodurch der Overhead (Steuerdaten) verringert wird.
Parameter: -m16 (für 16 Blöcke)
Geschwindigkeitstest
Zum Testen der Lesegeschwindigkeit des Laufwerks bietet hdparm den Parameter -t.
Code:
# hdparm -t /dev/hda
/dev/hda:
Timing buffered disk reads: 70 MB in 3.05 seconds = 22.98 MB/sec
Sollten Verbesserungen erforderlich gewesen sein, müsste der Durchsatz der Festplatte merklich ansteigen. Es kann jedoch vorkommen, dass durch geschicktes BIOS-Tuning bereits alle Einstellungen die optimalen Werte angenommen haben. Dies ist meist die sinnvollere Alternative, da ansonsten bei jedem Systemstart die Einstellungen wieder neu übergeben werden müssten.
Da, wie schon gesagt, alle Einstellungen bei einem Neustart verloren gehen, ist es zu Empfehlen, ein Bash-Script zu erstellen, welches bei jedem Boot-Vorgang ausgeführt wird.
Aufschluss über weitere Möglichkeiten gibt die leicht verständliche Man-Page von hdparm sowie der Aufruf von hdparm ohne Parameter.
Gibt es noch irgendwelche Fragen, oder wollen Sie über den Artikel diskutieren?
Editieren Versionen Linkpartnerschaft Top Printversion
Haben Sie einen Fehler gefunden? Dann klicken Sie doch auf Editieren, und beheben den Fehler, keine Angst, Sie können nichts zerstören, das Tutorial kann wiederhergestellt werden
Sprachenübersicht/Betriebssysteme/Linux/Dateien/Ordner/Festplatten-Optimierung