Verbeter de prestaties door het instellen van zswap


Terug naar de thuispagina


Inhoud van deze pagina:

De absolute topper: schakel zswap in

1. U kunt doorgaans een behoorlijke snelheidswinst boeken door zswap in te schakelen. Vooral op oudere machines, maar ook op nieuwe machines pakt zswap voordelig uit, al is daarop de snelheidswinst wel kleiner. Daarom is inschakeling van zswap in alle gevallen aan te raden. Hieronder leg ik uit hoe u dat kunt doen.

A. Eerst wat achtergrondinformatie:

De functie zswap is een systeemkernfunctie die een gecomprimeerde tijdelijke RAM-opslag biedt voor wisselgeheugenpagina's. Pagina's die anders zouden worden weggeschreven naar een tijdelijke opslag (wisselgeheugen) op de harde schijf, worden dan samengeperst en opgeslagen in een opslagruimte in het RAM-geheugen.

Wanneer die opslagruimte vol is of wanneer het RAM-geheugen is uitgeput, wordt de oudste pagina gedecomprimeerd en alsnog weggeschreven naar de swap (het wisselgeheugen) op de harde schijf, alsof die pagina nooit in de zswap had gestaan. Daarna wordt die pagina verwijderd uit de zswap.

Standaard is zswap uitgeschakeld. Wanneer hij is ingeschakeld, gebruikt zswap standaard maximaal 20 procent van het RAM-geheugen. In mijn handleiding staat hoe u dat op 30 procent kunt krijgen, waardoor uw systeemgeheugen flink "toeneemt" (verhoog dit percentage niet boven de 40, want dat zou te weinig RAM-geheugen kunnen overlaten voor ongecomprimeerd gebruik).

De prijs die u betaalt voor het inschakelen van zswap is tweeledig:

- Uw processor wordt wat zwaarder belast, want die moet meer gaan comprimeren (inpakken) en decomprimeren (uitpakken).

- Als het systeem de zswap-opslag heeft gevuld, zal het alsnog op de harde schijf moeten gaan swappen. Met een blok aan het been: het stuk geheugen dat opgeofferd is aan zswap.

Daarom raad ik bij machines met een zwakke CPU, het inschakelen van zswap alleen aan in combinatie met een swapneiging die is verlaagd naar 45 (zie punt 2 op deze pagina).

B. Nu de handleiding:

Het inschakelen van zswap gaat gepaard met nogal wat aanpassingen van de instellingen van opstartlader Grub. Daarom is het verstandig om eerst een kopie te maken van de huidige instellingen van Grub, met de toepasselijke naam grubkopie.

Dat maakt het makkelijk om de wijzigingen die u gaat aanbrengen, weer terug te draaien (in het onwaarschijnlijke geval dat u dit ooit zou willen). Ga dus als volgt te werk:

a. Open een terminalvenster.
(Een terminalvenster opent u zo: *Klik*)

b. Kopieer en plak de volgende blauwe regel in het terminalvenster:

sudo cp -v /etc/default/grub /etc/default/grubkopie

Druk op Enter en tik desgevraagd uw wachtwoord in. In Ubuntu blijft dit geheel onzichtbaar, u ziet zelfs geen sterretjes wanneer u het intikt, dat hoort zo. In Mint is dit veranderd: u ziet wel sterretjes. Druk opnieuw op Enter.

Nu kunt u door met de eigenlijke ingrepen. Inschakelen van zswap gaat als volgt (met superieure snelle compressie, dankzij lz4 en zsmalloc):

c. Eerst gaat u een aantal parameters toevoegen aan het instellingenbestand van opstartlader Grub. Kopieer en plak daarvoor de volgende blauwe regel in het terminalvenster. Dit is één lange regel, dus breek hem niet af! En tik het allemaal niet zelf in, want het is veel te makkelijk om een tikfout te maken:

sudo sed -i 's/splash/splash zswap.enabled=1 zswap.max_pool_percent=30 zswap.zpool=zsmalloc zswap.compressor=lz4/' /etc/default/grub

Druk op Enter.

d. Genereer nu een nieuw Grubmenu waarin de nieuwe instellingen daadwerkelijk zijn toegepast. Kopieer en plak daartoe de volgende regel in het terminalvenster:

sudo update-grub

Druk op Enter.

e. De module zsmalloc is standaard niet aanwezig in het initramfs bij het opstarten, zodat die niet automatisch kan worden geladen. Dat kunt u als volgt veranderen:

Voeg de nieuwe module toe aan het instellingenbestand van het initramfs. Kopieer en plak daarvoor de onderstaande opdrachtregel in het terminalvenster:

echo "zsmalloc" | sudo tee -a /etc/initramfs-tools/modules

Druk op Enter.

f. Dan in de terminal, om het initramfs van alle geïnstalleerde systeemkernen bij te werken met de nieuwe instellingen (kopieer en plak!):

sudo update-initramfs -uk all

Druk op Enter. Het kan soms lang kan duren voordat deze opdracht is voltooid!

g. Herstart uw computer.

h. Kijk het resultaat na met deze terminalopdracht:

sudo dmesg | grep zswap

Die zou in de laatste regel van de uitvoer moeten melden:
zswap: loaded using pool lz4/zsmalloc

i. Het percentage van uw RAM-geheugen dat zswap gebruikt, kunt u nakijken met de volgende terminalopdracht:

cat /sys/module/zswap/parameters/max_pool_percent

Die zou 30 moeten melden. Zoals reeds gezegd: verhoog dat percentage liever niet boven de 40, want hogere percentages zouden negatieve gevolgen kunnen hebben.

Waarom zswap beter is dan zRam (en gebruik hen nooit gelijktijdig!)

1.1. Er is ook een alternatieve RAM-swapfunctie genaamd zRam, die minder goed is dan zswap. De reden dat zswap beter is dan zRam, is tweeledig:

a. zswap belast de CPU minder zwaar dan zRam. Soms veel minder: vooral bij gebruik als bureaucomputer kan dit een rol spelen.

b. zswap is het minst ingrijpend van de twee, aangezien zswap gebruik maakt van de bestaande infrastructuur in Linux Mint en Ubuntu voor virtueel wisselgeheugen.

Let op: installeer zRam niet wanneer u al zswap gebruikt, want zRam is ronduit contraproductief in combinatie met zswap!

Zowel zswap als zRam maken gebruik van een gecomprimeerde tijdelijke opslag, en zouden, bij gelijktijdig gebruik, meer systeemgeheugen gebruiken dan wanneer er slechts één van beide geïnstalleerd zou zijn. Gelijktijdig gebruik heeft daarom geen zin en zou zelfs nadelig zijn.

Meer achtergrondinformatie kunt u hier vinden. Webpagina verdwenen? Een kopie ervan kunt u hier binnenhalen.

Bij ingeschakelde zswap: verlaag de swapneiging wanneer uw CPU zwak is

2. Standaard maakt Mint gebruik van de swap (het wisselgeheugen op de harde schijf). Dit geldt ook wanneer u zswap heeft ingeschakeld, wat ik trouwens in alle gevallen aanraad (zie punt 1).

A. Eerst wat achtergrondinformatie:

Vooral bij weinig RAM-geheugen kan het gebeuren dat Mint de swap veel gaat gebruiken. Die schrijfacties op de harde schijf kunnen Mint vertragen. Virtueel geheugen op de harde schijf is nu eenmaal langzamer dan het "echte" RAM-geheugen. Verlagen van de swapneiging kan dus soms snelheidswinst opleveren.

De swapneiging kan een waarde hebben van 0 tot 200. De standaardinstelling van 60 is niet optimaal voor normale bureaucomputers met een zwakke CPU en een ingeschakelde zswap. Een waarde van ongeveer 45 past daar beter bij. Deze ingreep heeft bij een computer met een zwakke CPU eigenlijk alleen voordelen en geen nadelen. U levert dus niets in.

Als uw computer een krachtige CPU heeft, dan kunt u de swapneiging overigens wel het beste op 60 laten staan. Ook als u zswap heeft ingeschakeld.

Let op (1): Over het algemeen is het tegenwoordig geen goed idee meer, om de swapneiging te veranderen als op zichzelf staande maatregel. Verander de swapneiging daarom alleen wanneer u zswap hebt ingeschakeld en wanneer de CPU zwak is.

Let op (2): Schakel de swap nooit volledig uit, ook al heeft uw computer nog zoveel RAM-geheugen! Niet alleen omdat zswap de swap op de harde schijf simpelweg nodig heeft, maar ook omdat het volledig uitschakelen van de swap altijd contraproductief is en de prestaties van uw systeem negatief kan beïnvloeden.

B. Nu de handleiding:

Zo verlaagt u de swapneiging naar een redelijkere waarde voor computers met een zwakke CPU en ingeschakelde zswap, namelijk 45, wat voor die computers waarschijnlijk het beste compromis is:

a. Controleer allereerst de huidige swapneiging (swappiness) van uw Mint:

Open een terminalvenster.
(Een terminalvenster opent u zo: *Klik*)

Tik in (kopieer en plak, om tikfouten te voorkomen):

cat /proc/sys/vm/swappiness

Druk op Enter. Waarschijnlijk staat de swapneiging nu nog op een waarde van 60.

Verlaag de swapneiging als volgt:

b. In het terminalvenster kopieert en plakt u de volgende opdrachtregel (dit is één lange regel, gebruik beslist kopiëren en plakken om tikfouten te voorkomen!):

echo "vm.swappiness=45" | sudo tee /etc/sysctl.d/7-swappiness.conf

Druk op Enter en tik desgevraagd uw wachtwoord in.

c. Herstart uw computer (volledige herstart).

d. Controleer daarna even de nieuwe swapneiging in de terminal, met de volgende opdracht (kopieer en plak):

cat /proc/sys/vm/swappiness

Als het goed is, staat die nu op 45.

Spijt? Ongedaan maken van de reductie van de swapneiging is makkelijk

2.1. Hebt u spijt van de reductie van de swapneiging? Ongedaan maken is heel eenvoudig, met deze terminalopdracht:

sudo rm -v /etc/sysctl.d/7-swappiness.conf

Herstart uw computer en de swapneiging zou weer op de standaardwaarde van 60 moeten staan.

Nog meer tips?

3. Wilt u meer tips en trucs? U vindt er nog veel meer op deze webstek!

Zoals deze:

Maak uw Linux Mint sneller

Maak Linux Mint veilig schoon

Vermijd 10 fatale vergissingen


Op de inhoud van deze webstek is een Creative Commons-licentie van toepassing.

Algemeen voorbehoud en uitsluiting aansprakelijkheid

Terug naar de thuispagina