Tips voor de expert: Geheugenbeheer in Windows

Wanneer je Windows-systeem niet zo vlot blijkt te draaien als je had gehoopt, dan loont het de moeite om eens opnieuw te kijken naar het geheugen. Hoe je alles uit het geheugenbeheer in Windows, lees je hier.

Wanneer je iemand vraagt over hoeveel geheugen zijn systeem beschikt, dan krijg je steevast te horen hoeveel ram erin zit. Windows en de lopende processen beperken zich echter niet noodzakelijk tot het fysieke geheugen, maar werken ook met virtueel geheugen. In deze masterclass komen beide aan bod en geven we ook tools en technieken mee om die te optimaliseren.

Lees ook: RAM kopen - hier moet je op letten

Verschil 32 bit en 64 bit

Laten we beginnen met het fysieke systeemgeheugen. De hoeveelheid fysiek geheugen die Windows kan aanspreken hangt van diverse factoren af, niet in het minst van de Windows-releases zelf. Via www.tiny.cc/winversies krijg je een detailoverzicht van vrijwel alle Windows-versies, zowel van de x86- als de x64-varianten. Je ziet hier bijvoorbeeld dat Windows 7 Home Premium beperkt is tot 4 GB (x86) en 16 GB (x64), dat Windows 8 Professional maximaal 4 GB (x86) en 512 GB (x64) aankan en dat alle versies van Windows 10 overweg kunnen met maximaal 4 GB (x86) dan wel 2 TB (x64; een uitzondering is Windows 10 Home dat maximaal ‘slechts’ 128 GB aankan).

Een opvallende constante is dat geen enkel Windows 32bit-systeem (x86) meer dan 4 GB ram-geheugen kan aanspreken. Immers, 2(32) = 4294967296 bytes oftewel 4 GB. Zowat alle moderne computersystemen hebben echter een 64bit-processor aan boord en daar kun je dus een 64bit-besturingssysteem (x64) op draaien. 64 bits versus 32 bits lijkt misschien slechts een verdubbeling maar een snelle rekensom leert ons dat 2(64) maar liefst 16 EB (exabyte) bedraagt, oftewel meer dan 16 miljard GB. Dat is echter een theoretisch plafond. In de praktijk ondersteunen de diverse Windows x64-systemen veel minder geheugen en bij de meeste moederborden is het maximum vaak nog veel lager.

De 4 GB-limiet

De officiële limiet voor Windows 32 bit ligt op 4 GB ram, maar de werkelijkheid blijkt nog weerbarstiger. Heb je zelf Windows 32 bit draaien, check dan even bij Configuratiescherm / Systeem en beveiliging / Systeem: de kans is groot dat je bij Geïnstalleerd geheugen iets afleest als (3,00 GB beschikbaar), ook al heb je 4 GB (of zelfs meer) ram ingeprikt. Dat komt omdat ook allerlei hardwarecomponenten, zoals de netwerkadapter en de grafische kaart, geheugen innemen en aangezien Windows 32 bit niet weet hoe het geheugengebied boven de 4 GB-grens aan te spreken, wordt ook dat geheugen binnen het 4GB-gebied ingedeeld.

Het gevolg is duidelijk: Windows en de applicaties hebben nog minder geheugen ter beschikking. Wil je exact weten hoeveel ram door hardware wordt afgesnoept, open dan Windows Taakbeheer (met Ctrl+Shift+Esc). Klik hier op Meer details / tabblad Prestaties / Broncontrole openen / tabblad Geheugen. En om te weten te komen welke hardware hiervoor precies verantwoordelijk is, start je Windows Apparaatbeheer (Start / typ devmgmt.msc). Klik op het menu Beeld, selecteer de optie Bronnen op verbinding en open de rubriek Geheugen. Je zult merken: alle hardware op je 32bit-systeem bevindt zich binnen de 4GB-grens (FFFFFFFF in hexadecimale notatie).

Meer dan 4 GB op 32 bit

Een 64bit-besturingssysteem is dus de logische oplossing voor wie meer dan 4 GB ram effectief wil aanspreken. Toch bestaat er een manier om ook onder Windows 32 bit meer dan 4 GB ram beschikbaar te stellen. Immers, al vanaf de Pentium Pro-processor werd de PAE-techniek (physical address translation) geïntroduceerd waardoor 36 in plaats van 32 adreslijnen beschikbaar komen zodat er (in theorie) 2(36) oftewel 64 GB beschikbaar komt.

Niet alleen de processor, maar ook het besturingssysteem moet hier echter mee overweg kunnen, maar dat is al zo sinds Windows 2000. Deze functie moet je doorgaans wel eerst activeren. Dat kan door als administrator op de opdrachtprompt bcdedit /set pae ForceEnable uit te voeren (met ForceDisable schakel je die weer uit).

Schuw je het experiment (op eigen risico) niet, dan kun je het ook nog proberen met de tool PAEPatch . De kans is aanwezig dat deze tool niet werkt, lees in elk geval eerst het meegeleverde readme.txt-bestand.

Meer RAM kopen?

Je weet intussen hoeveel ram een Windows-systeem maximaal aankan, maar de vraag blijft: wat is de optimale hoeveelheid ram (in de veronderstelling dat je liever geen geld besteedt aan overtollig geheugen). Microsoft zelf stelt dat je voor desktopversies van Windows 10 al wegkomt met 1 GB (32 bit) of 2 GB (64 bit), maar dat zijn uiteraard minimalistische hoeveelheden waar een systeem nauwelijks mee vooruit te branden is.

Het is echter zeer lastig absolute ram-hoeveelheden mee te delen voor een optimaal systeem gezien dat vooral afhangt van hoe (intens) je dat gebruikt.

Je krijgt echter al een aardig idee wanneer je de gebruikelijke applicaties hebt draaien en vervolgens de hoeveelheid beschikbaar geheugen checkt. Dat kan via de eerder vermelde tool Broncontrole, op het tabblad Geheugen. Bij Fysiek geheugen lees je op elk moment af hoeveel geheugen in gebruik is. Het exacte percentage verneem je op het tabblad Overzicht, op de balk Geheugen. Blijkt de hoeveelheid gebruikt fysiek geheugen gedurende langere tijd opvallend hoog – bijvoorbeeld iets in de grootte van 70% – dan is je systeem hoogstwaarschijnlijk gebaat met een geheugenuitbreiding.

Je kunt dit geheugengebruik ook automatisch over een langere periode monitoren met behulp van de ingebouwde Prestatiemeter (druk op Windows-toets+R en voer perfmon uit). Hiervoor gebruik je de functie Gegevensverzamelaarsets. Hier hebben we een extra artikeltje neergezet hoe je met deze tool het geheugen automatisch laat monitoren.

Geheugenbeheer in Windows

© PXimport

RAM-boosters: Ja of nee?

Op internet vind je tal van tools (ook gratis) die beweren geheugen vrij te kunnen maken, wat dan tot merkbare prestatieverbeteringen zou leiden. Wanneer je zo’n tool gebruikt, zie je vaak de gebruikte hoeveelheid geheugen drastisch verlagen. Maar het is zeer bedenkelijk of je dat vooruit helpt, aangezien het om weinig meer dan een sluwe truc gaat.

Eerst dwingt zo’n tool actieve toepassingen hun werkgeheugen naar het wisselbestand te schrijven, dat uiteraard veel trager is dan ram. Vervolgens eist de tool heel even een pak geheugen voor zichzelf op zodat Windows wordt verplicht de reeds gecachete data uit het geheugen te halen en die eveneens naar het wisselbestand te schrijven. Ten slotte maakt de tool het opgeëiste geheugen weer vrij, met als resultaat een plotse toename in vrij geheugen.

De kans is echter groot dat je systeem hier trager van wordt, omdat allerlei data nu uit het wisselbestand in plaats van uit het ram moet worden ingelezen. Ram-boosters verkopen vooral gebakken lucht.

Het lijkt wellicht dat processen die op hetzelfde ogenblik actief zijn, binnen de beschikbare hoeveelheid ram-geheugen moeten passen. Maar dat is dus niet zo: wanneer er op een bepaald ogenblik meer geheugen nodig is dan er fysiek beschikbaar is, dan kan Windows de harde schijf gebruiken om daar tijdelijk data op te slaan die eigenlijk in het ram thuishoren. Die data belanden dan in het zogenoemde paging file (ietwat inaccuraat vertaald als wisselbestand), Microsoft zelf heeft het hier over virtueel geheugen. Het beschikbare fysieke en virtuele geheugen samen vormen dan de totale hoeveelheid geheugen die Windows kan aanspreken.

Nu kun je redeneren: waarom dan (duur) ram erbij prikken als Windows hiervoor de harde schijf kan inzetten? Een harde schijf is echter vele malen trager dan ram. Zelfs een snelle pcie-ssd met nvme is nog altijd vele malen trager dan ram.

Optimale grootte wisselbestand

Het wisselbestand, standaard met de name pagefile.sys, zit al lang in Windows. Echter, met de komst van Windows 8 is er een extra systeembestand met de naam swapfile.sys bijgekomen, dat slechts circa 256 MB groot is. Dit bestand wordt uitsluitend gebruikt voor de echte ‘apps’ van Windows, zoals je die in de Windows Store kunt vinden. In tegenstelling tot de klassieke Windows-toepassingen kan bij deze apps de complete werkset (een verzameling geheugenpagina’s in ram die actief gebruikt worden door een proces) naar schijf geschreven worden, in dit geval naar swapfile.sys en daaruit weer worden opgehaald als de gebruiker naar die app terugschakelt. Het bestand verdwijnt zodra je het gewone wisselbestand uitschakelt, maar zoals je in deze masterclass kunt lezen: dat is geen goed idee.

Wel is het zo dat een groot aantal apps op de achtergrond actief kunnen blijven, bijvoorbeeld om live tegels te updaten, notificaties te ontvangen of nieuwe gegevens op te halen. Dat vraagt natuurlijk ook geheugen (en batterijverbruik op laptops). Je kunt echter zelf bepalen welke apps je die toestemming wilt geven: ga naar Instellingen en open Privacy / Achtergrond-apps. Zet de schakelaar op Uit bij apps die je niet langer op de achtergrond wilt laten draaien.

Je kunt je terecht afvragen wat de optimale grootte van zo’n wisselbestand is. Op internet wordt er druk gegoocheld met allerlei zogenaamde ultieme formules, zoals anderhalf tot tweemaal de hoeveelheid ram-geheugen. De praktijk blijkt echter genuanceerder, want de optimale grootte hangt niet alleen van je systeem af, maar ook van hoe je het systeem gebruikt en welke programma’s er geregeld actief zijn. Standaard is het zo dat Windows de wisselbestandsgrootte zelf beheert en in de praktijk blijkt dat doorgaans erg goed te werken!

Wisselbestand aanpassen

Wil je toch zelf de grootte bepalen (wij raden dat af), dan kan dat onder meer met de gratis tool Process Explorer. Zorg wanneer je de tool start dat ook alle applicaties die je wel vaker tegelijk geopend houdt, volop actief zijn. Open vervolgens het menu View en selecteer System Information. Er verschijnt een nieuw venster waar je het tabblad Memory opent. Focus je hier op de rubriek Commit Charge, met de items Current, Limit en Peak. Merk op dat Current (in kB) overeenkomt met de grafiek System Commit (in GB): dit getal duidt namelijk de hoeveelheid geheugen aan die momenteel in gebruik is. Limit verwijst naar de maximale hoeveelheid beschikbaar geheugen, zowel het fysieke als het virtuele geheugen.

Geheugenbeheer in Windows

© PXimport

Om het wisselbestand te controleren of aan te passen, open je het Windows Configuratiescherm en kies je achtereenvolgens Systeem en beveiliging / Systeem / Geavanceerde systeeminstellingen / Geavanceerd / Instellingen (bovenste knop) / Geavanceerd / Wijzigen. De kans is echter groot dat de meeste opties niet beschikbaar zijn. Dat komt omdat er een vinkje staat bij Wisselbestandsgrootte voor alle stations automatisch beheren. Dat houdt in dat Windows zelf de huishouding van het wisselbestand beheert en zoals gezegd is dat in de meeste gevallen een goede oplossing.

Wil je toch aan de instellingen sleutelen, verwijder dit vinkje dan. Doorgaans kies je hier de Windows-partitie als locatie voor het wisselbestand: C in de meeste gevallen. Alleen wanneer je een tweede fysieke schijf hebt aangesloten die minstens even snel is als de systeemschijf kun je het wisselbestand daar plaatsen, zoals op een ssd. Je hoeft niet echt bang te zijn dat zo’n wisselbestand de levensduur van je ssd drastisch zal inkorten (ondanks dat sommige internetpagina’s anders beweren).

Vast of dynamisch wisselbestand

In het venster Virtueel geheugen hoef je slechts het gewenste station te selecteren, Aangepaste grootte te selecteren en een geschikte waarde in te vullen (in MB) bij Begingrootte en Maximale grootte. Bij Maximale grootte zou je in principe dezelfde waarde als bij Begingrootte kunnen invullen. Dit heeft alvast het voordeel dat het wisselbestand constant blijft en niet wordt gefragmenteerd. Het nadeel van zo’n vast wisselbestand is echter dat het niet kan meegroeien met de behoefte van het moment. Je kunt daarom ook een hogere waarde invullen, bijvoorbeeld het dubbele van de Begingrootte (voor ons eerdere voorbeeld zou dat respectievelijk 2048 MB en 4096 MB kunnen zijn). Bevestig je wijzigingen met Instellen en met OK, waarna je de pc herstart.

Voor wie het wisselbestand zelf wil bekijken: standaard bewaart Windows dat in de rootmap als een verborgen systeembestand. Om het zichtbaar te maken in Windows Verkenner open je het menu Beeld en kies je Opties / Weergave, waarna je het vinkje weghaalt bij de optie Beveiligde besturingssysteembestanden verbergen (aanbevolen).

Deel dit artikel
Voeg toe aan favorieten