next up previous contents index
Volgende: 18.11 Hoofdlettergevoeligheid Omhoog: 18 Tips & Tricks Vorige: 18.9 Geheugen: er wordt   Inhoudsopgave   Index

18.10 Hdparm: optimaliseren van de harde schijf

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.

multcount
De optie om dit te veranderen is -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.

I/O support
De optie om dit te veranderen is -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!

unmaskirq
De optie om dit te veranderen is -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.

using_dma
De optie om dit te veranderen is -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.


next up previous contents index
Volgende: 18.11 Hoofdlettergevoeligheid Omhoog: 18 Tips & Tricks Vorige: 18.9 Geheugen: er wordt   Inhoudsopgave   Index
Jarkko Huijts 2002-08-17