Navigatie overslaan.
Start

Swappiness

Je hebt RAM nodig om een programma uit te voeren en om de gegevens die dit programma verwerkt (tijdelijk) op te slaan.

Je kan een programma (op een Intel compatibele CPU) nooit rechtstreeks van je harde schijf starten, het wordt eerst naar RAM gekopiëerd, en van daaruit uitgevoerd.
Ook de data wordt van ergens ingelezen (Netwerk, harde schijf, ...), in het RAM geheugen gestopt en verwerkt.

De hoeveelheid RAM in je PC is helaas eindig en dat wil dus zeggen dat er een limiet is in het aantal gelijktijdige programma's dat je kan openen, of de grootte van de te verwerken gegevens.
Om dit limiet toch een beetje te kunnen opzeilen, is er het zogenaamde swapgeheugen of swapspace.

Dit is een hoeveelheid schijfruimte die als extentie van het RAM geheugen gebruikt wordt.
Programma's of data in het RAM dat tijdelijk niet meer gebruikt wordt, wordt naar de swapspace verplaatst zodat er RAM geheugen vrijkomt voor extra data of programma's.
Als data die in de swap staat weer nodig is, moet ze eerst terug gemoved worden naar de RAM geheugen, en hierbij moet mogelijk eerst RAM geheugen voor vrijgemaakt worden door andere data naar de swap te verplaatsen.
Als je te weinig RAM hebt, en er veel geswapped moet worden, wordt de computer daardoor enorm traag, want een harde schijf is t.o.v. RAM geheugen enorm traag.

In Windows is de swap gewoon een bestand.
In Linux is dat een aparte partitie die geoptimalisseerd is voor dergelijke taken.
Door deze partitie aan het begin van de HD te definiëren, kan je ook heel wat performance winst halen, omdat daar de HD het snelst is.
Linux Swap is vele malen sneller dan Windows Swap.

In Linux kan je bepalen hoe het swap geheugen gebruikt wordt door de "Swappiness" parameter.
Normaal ga je niet alle RAM gebruiken voor je begint te swappen, maar ge je steeds een bepaalde hoeveelheid RAM leeg laten zodat je redelijk snel een programma kan starten en er daarna pas geswapt hoeft te worden.
Die hoeveelheid "leeg" RAM kan je dus zelf bepalen door de waarde in:

/proc/sys/vm/swappiness

0 wil zeggen om het RAM volledig op te souperen voordat er geswapped wordt.
100 wil zeggen om bijna geen RAM te gebruiken.

Een waarde van 10 is een goed compromis.