[StartPagina] [IndexVanTitels] [IndexVanWoorden

Veelgestelde vragen over wisselgeheugen

Geschikt voor: Ubuntu, GNOME Ubuntu Server, opdrachtregel
Versie: 12.04 LTS 14.04 LTS

Inleiding

De veelgestelde vraag is hoe groot moet de partitie voor het wisselgeheugen zijn? En om deze te vergroten, moet er dan een herinstallatie gedaan worden?

Hoeveel wisselgeheugen is nodig?

De "standaard" regel is:

Info (!) Echter, deze aanbeveling dateert van de tijd waarin intern geheugen duur was en Unix-achtige systemen veel processen in wisselgeheugen (swap) draaide. Tegenwoordig hebben computers veel meer intern geheugen. Alleen als je van de slaapstand gebruik wil maken is de standaard regel nog van toepassing en anders is het geheel afhankelijk van het gebruik van de computer. Bij normaal gebruik heeft een moderne computer bijna geen wisselgeheugen nodig. Keerzijde van een te te veel wisselgeheugen is dat deze ruimte geheel gereserveerd wordt en af gaat van de normale schijfruimte.

Voorbeelden:

Waar is wisselgeheugen voor?

Het gebruik van wisselgeheugen was voorheen noodzakelijk als uitbreiding van het interne geheugen: het beschikbare geheugen is de som van het interne geheugen en het wisselgeheugen.

Tegenwoordig beschikken computers over zoveel intern geheugen dat uitbreiding met wisselgeheugen strikt genomen niet meer nodig is.

Er zijn toch 4 redenen om wisselgeheugen te gebruiken:

Sommige programmatuur gebruikt veel intern geheugen

Soms gebruiken grote programma's (zoals LibreOffice of videobewerkingsoftware) toch al het interne geheugen op. De computer kan dan gebruik maken van het wisselgeheugen als uitbreiding.

Meer geheugen is soms handig

Onvoorziene omstandigheden kunnen en zullen voorkomen (bijvoorbeeld een bug in een programma waardoor het geheugengebruik sterk toeneemt). In die gevallen kan extra wisselgeheugen ervoor zorgen dat er nog iets gedaan kan worden zoals het opsporen van de oorzaak van het probleem of het normaal afsluiten van andere programma's.

Optimaal gebruik van het interne geheugen

Als er een bestand van de schijf wordt gelezen zal Linux dit in het interne geheugen plaatsen en daar zo lang mogelijk vasthouden. Een volgende leesopdracht zal daardoor veel sneller verlopen. Het deel van het interne geheugen dat gebruikt wordt om de toegang tot bestanden te versnellen wordt 'cached memory' genoemd. Dit zorgt voor een enorme snelheidsverbetering (het intern geheugen is duizenden malen sneller dan een schijf).
Het Linux systeem zal geheugen dat niet actief door een programma wordt gebruikt verplaatsen naar het wisselgeheugen om zo meer 'cached memory' te kunnen gebruiken.

De slaapstand (hibernation)

In de slaapstand (in het Engels hibernation of suspend-to-disk genoemd) wordt het interne geheugen in het wisselgeheugen op schijf geplaatst en de machine uitgezet.
Soms ontstaat hier een probleem: tijdens het starten van de computer is er nog geen bestandssysteem actief. Met andere woorden: het is niet mogelijk om te "ontwaken" vanuit een wisselgeheugen-bestand, hiervoor is een wisselgeheugen-partitie nodig.

Is een nieuwe installatie nodig om het wisselgeheugen uit te breiden?

NEE, ZEKER NIET! Vanaf de Linux kernel versie 2.6 is een wisselgeheugen-bestand net zo snel als een wisselgeheugen-partitie (Wikipedia:Paging, LKML).

Bijvoorbeeld na het uitbreiden van het computergeheugen kan het wisselgeheugen worden uitgebreid met een bestand.

Hoe kan ik het wisselgeheugen uitbreiden?

Vaak wordt bij wisselgeheugen gedacht aan een aparte partitie die als wisselgeheugen (swap area) is geformatteerd. Waarschijnlijk omdat bij de installatie wordt voorgesteld hiervoor een partitie te maken. Maar ook een bestand is als wisselgeheugen-geheugen te gebruiken. Voor de snelheid maakt het geen verschil of een wisselgeheugen-bestand of een wisselgeheugen-partitie gebruikt wordt.

Het uitbreiden van het wisselgeheugen met een bestand:

  1. maak een bestand
  2. formatteer het bestand als wisselgeheugen-bestand
  3. beveilig het wisselgeheugen-bestand
  4. gebruik het bestand als wisselgeheugen
  5. gebruik het bestand permanent als wisselgeheugen

Als voorbeeld een uitbreiding met 512 MB wisselgeheugen in /mnt/

Maak een bestand

Maak een bestand '/mnt/512Mb.swap' van 512 MB groot.

sudo dd if=/dev/zero of=/mnt/512Mb.swap bs=1M count=512

Formatteer het bestand als wisselgeheugen-bestand

sudo mkswap /mnt/512Mb.swap

Beveilig het wisselgeheugen-bestand

sudo chmod 600 /mnt/512Mb.swap

Gebruik het bestand als wisselgeheugen

sudo swapon /mnt/512Mb.swap

Gebruik het bestand permanent als wisselgeheugen

Wijzig hiervoor /etc/fstab

gksudo gedit /etc/fstab

Plaats achteraan een regel met de tekst:

/mnt/512Mb.swap  none  swap  sw  0 0

Opslaan en reboot.

Nu het voorbeeld in een terminalscherm:

gebruiker@ubuntu:~$ sudo dd if=/dev/zero of=/mnt/512Mb.swap bs=1M count=512
512+0 records gelezen
512+0 records geschreven
536870912 bytes (537 MB) gekopieerd, 22,0339 s, 24,4 MB/s
gebruiker@ubuntu:~$ sudo chmod 600 /mnt/512Mb.swap
gebruiker@ubuntu:~$ sudo mkswap /mnt/512Mb.swap
Instellen van wisselgeheugen, versie 1, grootte = 536866 kB
geen label, UUID=ed7653a1-829c-4d03-8ba7-4c8f194b1661
gebruiker@ubuntu:~$ sudo swapon /mnt/512Mb.swap
gebruiker@ubuntu:~$ swapon -s
Filename                                Type            Size    Used    Priority
/mnt/512Mb.swap                         file            524280  0       -1
gebruiker@ubuntu:~$ gksudo gedit /etc/fstab
##### toevoegen: /mnt/512Mb.swap        none    swap    sw      0       0
gebruiker@ubuntu:~$ free
             total       used       free     shared    buffers     cached
Mem:        515060     495344      19716          0       4712     265956
-/+ buffers/cache:     224676     290384
Swap:       524280          4     524276
##### Na het starten van een aantal programma's
gebruiker@ubuntu:~$ free
             total       used       free     shared    buffers     cached
Mem:        515060     504788      10272          0       3232     147204
-/+ buffers/cache:     354352     160708
Swap:       524280      73744     450536
#####Een herstart om te kijken of de aanpassing in /etc/fstab goed is
gebruiker@ubuntu:~$ free
             total       used       free     shared    buffers     cached
Mem:        515060     480820      34240          0      15000     265780
-/+ buffers/cache:     200040     315020
Swap:       524280          0     524280

Prioriteit van wisselgeheugens

Linux kent aan wisselgeheugens een prioriteit toe. Deze kunnen worden bekeken met

cat /proc/swaps

Deze prioriteiten kunnen worden gewijzigd door een aanpassing van bestand "/etc/fstab". Voor meer informatie zie:

man swapon

Prestaties verbeteren met zram

Deze optie is beschikbaar vanaf 12.04 LTS en kan prestatieverbetering geven op computers met beperkt geheugen (tussen 512MiB en 2GiB).
Met zram plaatst u een gecomprimeerd swap bestand in het RAM geheugen zelf. Deze swap heeft een hogere prioriteit dan de standaard swap partitie of swap-bestand, waardoor uw swap partitie/bestand pas gebruikt zal worden als het swap-bestand in het geheugen vol is. Deze methode heeft een aantal voordelen:

Om een zram-swapbestand op te zetten moet u in het ubuntu softwarecentrum naar 'zram-config' zoeken. U kunt het ook via de terminal installeren

sudo apt-get install zram-config

Na de installatie zijn een of meerdere zram-swapbestanden meteen actief. In totaal kan de helft van uw RAM als zram-swapbestand gebruikt worden, en dit is opgedeeld in zoveel zram-swapbestanden als u CPU-kernen heeft (hierdoor heeft elk zram-swapbestand een eigen CPU voor het comprimeren en uitpakken van de data). Let op dat dit niet betekent dat u standaard de helft van uw RAM kwijt bent! Als er niet geswapt wordt zijn de zram-swapbestanden leeg en nemen ze geen ruimte in.

Met het volgende commando kunt u de status van uw swap bekijken

swapon -s
Filename                                Type            Size    Used    Priority
/dev/mapper/ubuntu-swap                 partition       4194300 0       -1
/dev/zram0                              partition       254224  56      5
/dev/zram1                              partition       254224  56      5
/dev/zram2                              partition       254224  60      5
/dev/zram3                              partition       254224  60      5

Prestatie verbeteren met swappiness

De "swappiness"-instelling bepaalt het gedrag van de Linux-kernel om processen van intern geheugen te verplaatsen naar het wisselgeheugen op schijf. Maar pas op, omdat een schijf veel trager is dan het intern geheugen, kan veel verplaatsen uit het interne geheugen leiden tot een slechte responstijd.

Vermindering van de standaardwaarde van swappiness zal mogelijk de algemene prestaties voor een typisch Ubuntu desktop installatie kunnen verbeteren. In sommige gevallen wordt een waarde van swappiness = 10 aanbevolen. Omdat het afhankelijk is van de individuele configuratie en gebruik zal dit proefondervindelijk vastgesteld moeten worden.

Hoe kan de swappiness-instelling worden bekeken?

cat /proc/sys/vm/swappiness

Hoe kan de swappiness-instelling worden aangepast?

De instelling kan tijdelijk (tot de volgende herstart van het systeem) naar een waarde van 10 worden gezet met de opdracht:

sudo sysctl vm.swappiness=10

Voor een definitieve wijziging van de swappiness waarde moet bestand /etc/sysctl.conf worden aangepast

gksudo gedit /etc/sysctl.conf

Zoek naar de vm.swappiness waarde om aan te passen of voeg de volgende regel toe aan het bestand:

vm.swappiness=10

Opslaan en herstarten.

Over deze wiki

Dit is een vrije vertaling van https://help.ubuntu.com/community/SwapFaq Meer gedetailleerde (Engelstalige) informatie is hier hier te vinden


CategoryOverig


2022-09-08 16:56