Wanneer er geen RAM-geheugen meer beschikbaar is op je VPS kan die in plaats van het RAM gebruik maken van 'swap-geheugen'. We raden dit in principe af omdat dit een negatief effect heeft op de performance van je VPS. Een beter alternatief is om je VPS te upgraden, bijvoorbeeld met een (tijdelijke) RAM add-on.
Mocht je toch tijdelijk swap willen inzetten, bijvoorbeeld voor een update van een groter software pakket, dan is dat wel mogelijk. Het kan echter gebeuren dat de standaard ingestelde hoeveelheid swap-geheugen van je Linux-VPS onvoldoende is. In deze handleiding laten we zien hoe je in dat geval je swap-geheugen vergroot.
Langdurig intensief swap-gebruik kan een negatieve impact hebben op de hypervisor die je VPS host. In dat geval stellen we een tijdelijke limiet in op de capaciteit van de harde schijf van je VPS en ontvang je daar van ons een e-mail over.
Swap-geheugen uitbreiden
Het is mogelijk een bestaande swapfile uit te breiden, maar dan wordt wat daar op dat moment in is opgeslagen naar je RAM verplaatst. Is je RAM op dat moment al vol? Dan kan dat leiden tot out of memory crashes. Om deze reden kiezen we ervoor een nieuwe swap-file toe te voegen in plaats van de bestaande uit te breiden. Je kan dit makkelijk opschalen en ook weer swap-files verwijderen.
Stap 1
Verbind met je VPS via SSH of gebruik de VPS-console.
Stap 2 - Optioneel
Voor je begint kan het geen kwaad om te controleren hoeveel swap-geheugen je beschikbaar hebt en of je die inderdaad volledig gebruikt. Dit doe je met het commando:
swapon --show
De output ziet er ongeveer als volgt uit:
swapon --show
NAME TYPE SIZE USED PRIO
/dev/dm-1 partition 980M 10.6M -2
In dit voorbeeld is er een swap-partitie van 980MB waarvan 10.6MB gebruikt wordt en de bestandsnaam /dev/dm-1 is.
Stap 3
Maak een nieuwe swap-bestand aan in de root-partitie met het commando:
sudo dd if=/dev/zero of=/swapfile1 bs=1M count=4048
Stap 4
Verander het nieuwe bestand vervolgens in een swap-bestand:
sudo mkswap /swapfile1
Stap 5
Het bestand geef je nu een waarschuwing dat de lees- en schrijfrechten verkeerd staan (644 in plaats van 600). Je past dit aan met het commando:
sudo chmod 600 /swapfile1
Stap 6
Activeer hierna het nieuwe swap-bestand:
sudo swapon /swapfile1
Stap 7
Waarschijnlijk is er nog niet automatisch een regel in /etc/fstab gemaakt voor dit swap-bestand. Dit is echter nodig om te zorgen dat je automatisch het swap-bestand kunt gebruiken na een reboot.
Je controleert of er een regel in /etc/fstab staat voor /swapfile1 met het commando:
cat /etc/fstab | grep /swapfile1
Krijg je geen output terug? Voeg dan met het commando hieronder de benodigde regel toe:
echo "/swapfile1 none swap sw 0 0" >> /etc/fstab
Swappiness aanpassen
Je besturingssysteem heeft een instelling die aangeeft hoeveel 'swappiness' er plaats vindt, oftewel: hoe vaak je systeem data vanuit het RAM naar het swap-geheugen verplaatst. Dit wordt aangegeven met een waarde van 0 tot 100 waarbij een waarde dichter bij 0 betekent dat er minder geswapt wordt en dichter bij 100 dat er meer geswapt wordt. De huidige waarde controleer je met het commando:
cat /proc/sys/vm/swappiness
Wil je de waarde aanpassen? Dan voeg je aan /etc/sysctl.conf de nieuwe waarde toe met het commando hieronder en herstart je je VPS. Vervang hier 10 door de waarde die je wil toepassen
echo "vm.swappiness=10" >> /etc/sysctl.conf
Swap uitschakelen
Als je wilt voorkomen dat je VPS swap-geheugen inzet en de performance van je VPS slechter wordt, zonder dat je zelf mogelijk door hebt wat de oorzaak is, dan kun je swap geheel uitzetten met de volgende commando's:
sudo swapoff -a
sed -i '/ swap / s/^/#/' /etc/fstab
Door in /etc/fstab de regel over swap uit te commentarieren, zal swap ook na een herstart van je VPS niet gebruikt worden.
Daarmee zijn we aan het eind gekomen van dit artikel over het aanpassen van swap-geheugen in Linux.
Mocht je aan de hand van dit artikel nog vragen hebben, aarzel dan niet om onze supportafdeling te benaderen. Je kunt hen bereiken via de knop 'Neem contact op' onderaan deze pagina.