Hdparm staat voor Hard Disk Parameters. Je kunt hiermee instellingen van je (IDE-)schijf veranderen, waardoor een behoorlijke snelheidswinst bereikt kan worden. Heb je een moderne harde schijf, dan kan je hiermee de snelheid van een matige 4 MB/s opschoeven naar 20 MB/s! Standaard worden er voor de harde schijf trage, maar daarmee ook wel heel veilige instellingen gebruikt. Dat is wel zo veilig als er tijdens het opstarten e2fsck gebruikt wordt. Zet hdparm met de benodigde opties in /etc/rc.d/rc.local om het aan het eind van het opstartproces uit te laten voeren. Merk op dat in sommige distributies na de installatie al bij het opstarten hdparm wordt uitgevoerd (in /etc/rc.d/rc.sysinit onder Mandrake).
Door (als root) hdparm /dev/hda in te tikken, met in plaats van hda de device die jouw harde schijf aangeeft, kun je de instellingen van de harde schijf bekijken. En met hdparm -i /dev/hda krijg je informatie over de schijf. Test de snelheid van de schijf met hdparm -Tt /dev/hda.
Ik zal een aantal interessante opties bespreken.
-m
met daarachter een getal
(het aantal sectoren). Dit staat voor multiple sector count. Als dit
ingeschakeld (niet 0) is, worden er meerdere sectoren gelezen bij een
enkele I/O interrupt. Zo goed als alle moderne schijven kunnen dit.
Het vermindert de overhead voor disk I/O met 30-50% en versnelt het
lezen van data met 5-50%. Een waarde van 16 of 32 is voor de meeste
systemen optimaal.
-c
met daarachter een getal (de mode).
Dit geeft aan hoe data van de PCI-bus naar de controller
wordt gestuurd. Zo goed als alle moderne chipsets ondersteunen mode 3 (32-bit
mode met sync) wel. Werkt dat niet, dan kun je ook mode 1 (32-bit mode zonder
sync) proberen. Standaard staat deze waarde op 0 (16-bit mode, zoals bij een 386
gebruikelijk was). Deze optie kan de de datasnelheid zeker verdubbelen!
-u
met daarachter een getal (1 voor
aan, 0 voor uit). Als dit ingeschakeld is zal Linux andere interrupts unmasken
tijdens het lezen van data van de schijf. Daardoor kan bijv. netwerkdata
verwerkt worden tijdens schijfactiviteit. Het moet het systeem in het geheel
overal sneller op laten reageren, maar het werkt niet in alle hardwareconfiguraties.
-d
met daarachter een getal (1 voor aan,
0 voor uit). DMA is een beetje tricky. Als je controller én schijf een
DMA-mode ondersteunen, probeer het dan. Hiermee spelen kan je systeem
echter vrij makkelijk laten hangen. Als je dit gaat proberen, dan is het een
goed idee om ook de optie -X34
of -X66
te gebruiken om de IDE-controller
op (multiword) DMA mode 2 te zetten. Voor deze laatste opties geldt ook dat ze wel
wat gevaarlijk zijn.
De veiligste (op de meeste systemen wel werkende) opties zijn de eerste 2. Probeer eens: hdparm -c3 -m16 /dev/hda. Test de snelheid van de schijf nu nog maar eens een keer. Waarschijnlijk scheelt het al wel aardig wat!
Als dat allemaal goed werkt, dan kun je ook de iets gevaarlijkere laatste 2 opties proberen met iets als hdparm -X66 -d1 -u1 -m16 -c3 /dev/hda. Lees wel eerst de manual page voor wat meer info over deze opties!
Het is mogelijk om je bestandssysteem te beschadigen door hdparm roekeloos te gebruiken. Alles wat je ermee doet is volledig op eigen risico!
Alle opties met uitleg vind je in man hdparm.