Categories
Internet, Unix en security

Minder disk IO

Unix zit soms heel mooi in elkaar, maar soms ook heel dom in elkaar. Zo ook bij filesystemen waar voor elk bestand wordt bijgehouden wanneer deze voor het laatst is geraadpleegd. Dit werkt goed op een systeem met weinig transacties, maar zodra het aantal transacties toeneemt dan komen ook de problemen. Voornamelijk door het verspillen van transacties om de metadata voor een filesysteem bij te werken en metingen uit het verleden geven aan dat hier nog redelijk wat winst te behalen is.

Een filesysteem mounten met de opties noatime en nodiratime kan een merkbare reductie in disk transacties lijden en zeker op het root-filesysteem kan hier systeembreed een verbetering komen. Maar in de huidige tijden waar zoekmachines voor op de desktop populair worden is dit ook een punt van aandacht. Zeker als je bedenkt dat voor het scannen van alle directories ook bijna alle metadata moet worden bijgewerkt.

Helaas werkt noatime niet goed voor alle applicaties zoals bijvoorbeeld Mutt welke vertrouwt dat de atime van een bestand de werkelijkheid weergeeft. Om deze reden kan een filesysteem ook met de optie relatime worden gemount waardoor de atime alleen wordt bijgewerkt als het bestand ook wordt aangepast om zo bepaalde applicaties te laten werken. En hoewel dit misschien tegen Posix ingaat maken deze maatregelen een machine wel stiller en wat sneller.

Categories
Internet, Unix en security

Een paar MB besparen

Geheugen is goedkoop wordt vaak geroepen, maar is dat wel zo? Soms moet je dan volledige nieuw geheugen kopen om te kunnen uitbreiden. Of er is geen mogelijkheid om uit te breiden zoals bij steeds meer mini-ITX systemen het geval is waarbij de Mac Mini mogelijk het bekenste voorbeeld wel mogelijk is. Of omdat geheugen toch niet zo goedkoop blijkt te zijn voor je drie jaar oude computer omdat men nu ineens de hoofdprijs wil hebben voor een paar reepjes geheugen.

Gelukkig zit er in sommige systemen nog wel wat ruimte om zonder aanpassingen aan de hardware er wat meer performance uit te krijgen. Bij veel Linux-distributies heb je de mogelijkheid om virtuele consoles te gebruiken, maar bijna niemand gebruikt deze virtuele consoles nog terwijl ze wel draaien. Dit terwijl je gelijktijdig bijvoorbeeld KDE of GNOME gebruikt en het is misschien een paar een megabyte, maar het is wel voldoende om /var/run in geheugen te houden.

In het bestand /etc/inittab kom je het volgende tegen:

1:2345:respawn:/sbin/getty 38400 tty1
2:23:respawn:/sbin/getty 38400 tty2
3:23:respawn:/sbin/getty 38400 tty3
4:23:respawn:/sbin/getty 38400 tty4
5:23:respawn:/sbin/getty 38400 tty5
6:23:respawn:/sbin/getty 38400 tty6

En door dit te veranderen naar:

1:2345:respawn:/sbin/getty 38400 tty1
#2:23:respawn:/sbin/getty 38400 tty2
#3:23:respawn:/sbin/getty 38400 tty3
#4:23:respawn:/sbin/getty 38400 tty4
#5:23:respawn:/sbin/getty 38400 tty5
#6:23:respawn:/sbin/getty 38400 tty6

Als men nu een `kill -HUP 1` doet of reboot dan zal er nog maar een console overblijven welke kan worden gebruikt in geval van problemen. Maar de overige virtuele consoles zijn gestopt en nemen nu niet meer een paar honderd kilobyte per console in beslag. En dit is iets wat soms net het kleine beetje kan zijn om wat oudere of kleinere machines snel te houden.