Geheugenbeheer in Windows

Geheugenbeheer in Windows

Het belangrijkste onderdeel van de pc

Edmond Varwijk - 29 april 2009, 15:44

Iedere nieuwe versie van Windows stelt hogere systeemeisen aan uw computer. Vooral de toenemende honger naar geheugen is opvallend. Dit onderdeel van de configuratie is inmiddels meer dan ieder ander, bepalend voor de stabiliteit en de prestaties van de computer. Maar hoe werkt het, wie beheert het en valt er meer uit te persen dan Windows met een standaard configuratie doet?

We zoeken het voor u uit in deze Expertcursus.

RAM-geheugen

Het geheugen is de plek waar de computer zijn actieve programma’s en gegevens plaatst. Bekend is het RAM-geheugen, maar het computergeheugen omvat ook de registers en het cachegeheugen op de processor, eventueel extra cachegeheugen op het moederbord en het deel van de harde schijf dat gebruikt wordt als virtueel geheugen. Meer geheugen leidt in het algemeen tot betere prestaties en meer stabiliteit. In plaats van over RAM-geheugen wordt ook wel over werkgeheugen of intern geheugen gesproken.

De benaming ‘RAM’ is in feite dubbelop, want de M van RAM (Random Access Memory) staat al voor geheugen. De naam ‘RAM’ heeft te maken met de eigenschap dat ieder stukje informatie dat in het geheugen is geplaatst, vrij (‘willekeurig’) aangesproken kan worden. Anders dan bij informatie op een harde schijf – wat ook een vorm van geheugen is – ontstaat er bij het opvragen van gegevens uit het RAM geen vertraging doordat eerst een leeskop verplaatst moet worden naar de plaats waar de gegevens staan. De toegang tot alle informatie in het RAM-geheugen is direct en zonder verdere belemmering. De snelheid van RAM-geheugen is daardoor ook relatief. Het maakt nauwelijks verschil of de gevraagde informatie vooraan, in het midden of helemaal achteraan in het geheugen staat.

Opbouw

RAM-geheugen is opgebouwd uit transistoren en condensatoren, die in koppels geheugencellen vormen. RAM-geheugen kan computerdata bewaren doordat iedere condensator twee statussen kent: geladen en ongeladen. Het enige wat het geheugen hiervoor nodig heeft, is beschikken over voldoende elektrische spanning om deze status te wisselen en vast te houden.

RAM-geheugen bestaat uit geheugenmodules die direct op het moederbord worden geplaatst. Op het moederbord zijn hiervoor enkele geheugenslots beschikbaar. Er zijn verschillende soorten slots, die zich fysiek onderscheiden in het aantal pinnetjes dat de RAM-module moet hebben om in het slot te passen. RAM-geheugen is voor het besturingssysteem het belangrijkste geheugen in een computer.

De rol van het besturingssysteem

Het besturingssysteem vervult de rol van geheugenmanager. Ieder besturingssysteem beschikt over een dergelijke geheugenmanager, dat het geheugen vult met de code en de bijbehorende data van de actieve processen (applicaties), hardware-drivers en het besturingssysteem zelf. De manier waarop dit gebeurt en de beslissingen die worden genomen (welke informatie wordt wel en welke niet in het geheugen geplaatst? Welke gegevens worden naar een langzamer geheugen verplaatst?) is in hoge mate verantwoordelijkheid voor de snelheid van een computer.


Vista beschikt met de Betrouwbaarheids- en prestatiecontrole over een hulpprogramma dat goed inzichtelijk maakt welke bronnen beschikbaar zijn en welke door welk proces worden aangesproken.

Hoeveel geheugen is maximaal mogelijk?

Geheugen kan niet onbeperkt uitgebreid worden. Er is ten eerste de fysieke beperking van het moederbord, dat maar plaats biedt voor slechts een paar geheugenmodules. Daarnaast is er de maximale adressering. Dit is het maximum aantal geheugenadressen dat het besturingssysteem kan aanspreken. Dit houdt verband met de architectuur van de pc en vooral het besturingssysteem. Beschikt uw pc over een 32bit-processor, dan kan alleen een 32bit-besturingssysteem geïnstalleerd worden. Dit beperkt de maximale hoeveelheid geheugen tot 2^32 = 4.294.967.296 byte, oftewel precies 4 gigabyte.

Beschikt uw systeem over een 64bit-processor, dan kan het ook overweg met een 64bit-besturingssysteem. En hoewel 64 ten opzichte van 32 misschien klinkt als slechts een verdubbeling, is het veel meer dan dat. Een 64bit-besturingssysteem kan namelijk 2^64 bytes adresseren, oftewel 18.446.744.073.709.551.616 bytes of ruim 17 miljoen (17.179.869.184) GB.

32- en 64bit-versies van Windows

Van Windows 95 tot Windows XP waren alle versies van Windows bedoeld voor gebruik op computers gebouwd volgens de 32bit-architectuur. Van Windows XP verscheen als eerste ook een 64bit-versie. Deze kwam ruim twee jaar later dan de oorspronkelijke versie van Windows XP uit, was alleen in het Engels verkrijgbaar en ging bovendien alleen om Windows XP Professional. Er bestaat geen 64bit-versie van Windows XP Home Edition, terwijl enthousiaste thuisgebruikers veel geïnteresseerder waren in de 64bit-techniek dan de zakelijke gebruikers. Daarom paste Microsoft voor Windows Vista zijn 64bit-strategie aan en bracht het gelijktijdig met de 32bit- ook de 64bit-versie uit. En dit van bovendien alle belangrijke versies (Vista Ultimate, Vista Business, Home Premium en Home Basic).

Vista verscheen gelijktijdig in een 32- en een 64bit-versie.

Hoeveel geheugen is mogelijk?

Dat een 64bit-besturingssysteem 17 miljoen GB kan aansturen, is theorie. De praktijk is anders. De bouwers van computerhardware houden rekening met wat hun klanten maximaal zullen vragen. Zij kunnen hierdoor de efficiency van hun producten vergroten en beperken daarom de hoeveelheid geheugen die daadwerkelijk maximaal gebruikt kan worden. De meeste moederborden voor gebruik in een pc ondersteunen maximaal 8 GB RAM, de nieuwste topmodellen maximaal 24 GB. Voor alle 32bit-versies van Windows (XP en Vista) is het werkelijke maximale geheugen 4 GB, voor de 64bit-versies van Vista geldt dat Home Basic maximaal 8 GB geheugen aankan, Home Premium 16 GB en Vista Ultimate 128 GB.

Geheugentest

Twijfelt u er aan of het geheugen in uw pc goed functioneert? In Windows Vista zit een ingebouwd hulpmiddel om het geheugen te testen (Memory Diagnostic Tool). U kunt deze aanroepen door tijdens het opstarten op F8 te drukken. Voor XP is er ook andere software beschikbaar, zoals Memtest86.

Stabiliteit

De beperking van de maximale ondersteunde hoeveelheid geheugen dient nog een ander doel: stabiliteit. Toen Microsoft bij de ontwikkeling van Servicepack 2 voor Windows XP ook systemen met meer dan 4 GB RAM wilde ondersteunen, was dit dankzij de nieuwe Physical Address Extensions-techniek (PAE) mogelijk. Testen met systemen met meer dan 4 GB geheugen leverde echter erg veel problemen op, vooral doordat veel drivers (met name die voor de grafische kaart en het geluid) hier niet mee overweg konden. De drivers gaven corrupte geheugenadressen door aan het besturingssysteem, wat resulteerde in geheugencorruptie en systeemcrashes. Hoewel ook op een 32bit-systeem nu dankzij PAE wel degelijk gebruik van meer dan 4 GB geheugen mogelijk is, wordt dit door Microsoft Windows in geen enkele 32bit-versie ondersteund.

Windows en het maximale geheugen

Is 4 GB dan inderdaad het maximum dat een 32bit-versie van Windows op een pc met 4 GB RAM kan gebruiken? Nee, helaas is het zelfs minder dan 4 GB. Een 32bit-versie van Windows levert in combinatie met 4 GB RAM namelijk maar 3,07 GB geheugen op, oftewel zo’n 25 procent minder. De oorzaak is Memory Mapped I/O (ook wel MMIO of PMIO genoemd). Dit houdt in dat het fysieke geheugen dat Windows adresseert, niet alleen het RAM-geheugen omvat maar ook geheugen op bijvoorbeeld de grafische kaart, de netwerkkaart of een geluidskaart. Windows spiegelt dit geheugen in het RAM en verbruikt hierdoor dus RAM-geheugen voor een ander nut dan het laden van programma’s en gebruikersdata. De adressen die het besturingssysteem nodig heeft, worden dus afgetrokken van de echte adressen. Windows is niet erg flexibel. Om problemen te voorkomen, en dat zouden dan vooral problemen met drivers zijn, reserveert Windows hiervoor altijd minimaal 976 MB.


Maak in Apparaatbeheer de bronnen zichtbaar die de verschillende hardwarecomponenten gebruiken. Hier het geheugengebruik door de NVIDIA GeForce grafische kaart.
Hebben de componenten bovendien extreem veel geheugen aan boord, zoals bijvoorbeeld een videokaart met 1 GB eigen geheugen, dan wordt de hoeveelheid adressen die Windows hiervoor gebruikt alleen maar groter. Een 32bit-versie van Windows zal dus nooit meer dan 3,07 GB RAM-geheugen kunnen aansturen voor het plaatsen van applicaties en gebruikersdata. Is een computer uitgerust met 3 GB of meer, dan is de overstap naar een 64bit-versie van Windows dus het overwegen waard, om in elk geval voordeel te hebben van het extra geheugen en verlost te zijn van de beperkingen van de Windows geheugenmanager. Wilt u weten hoe het RAM-geheugen op uw systeem is ingedeeld, download dan het gratis Meminfo.

Meminfo geeft met de –r schakeloptie informatie over de indeling van het RAM-geheugen.

Maximaal 2 TB geheugen

Het zwaarste besturingssysteem dat Microsoft levert, is Windows Server 2008 Datacenter Edition. Dit is een 64bit-besturingssysteem dat tot maar liefst 1,6 miljoen TB geheugen aankan. Toch ondersteunt Microsoft het maar tot een bescheiden 2 TB. Opnieuw een ingebouwde begrenzing? Ditmaal niet. Microsoft ondersteunt alleen configuraties die het ook zelf kan testen. En 2 TB is daarbij voorlopig echt het maximum.

Meer geheugen na Vista Service Pack 1

De komst van Service Pack 1 voor Windows Vista verloste vooral de leveranciers van een probleem. De oorspronkelijke versie van Vista rapporteert bij de Systeemeigenschappen namelijk de hoeveelheid geheugen die daadwerkelijk beschikbaar is voor het besturingssysteem. Op een pc met 4 GB intern geheugen en een 32bit-versie van Vista is dat dankzij de Memory Mapped I-O, 3071 MB. Onbekend met dit fenomeen, greep menig klant de telefoon om vervanging te vragen van de ‘defecte’ geheugenmodule. Met Servicepack 1 heeft Microsoft dit gecorrigeerd en nu laat Windows Vista de totale hoeveelheid beschikbaar geheugen zien. De 32bit-versie gebruikt er onverminderd nog altijd maar net iets meer dan 3 van.


Windows biedt de mogelijkheid het Virtueel Geheugen zelf te beheren. Het kan op meerdere partities worden geplaatst maar ook volledig uitgeschakeld.

Upgraden naar een 64bit-versie

In combinatie met een 64bit-processor, levert een 64bit-versie van Windows (Vista) dus duidelijk een voordeel op wanneer de pc over meer dan 3 GB RAM-geheugen beschikt. Helaas is overstappen door Microsoft niet heel makkelijk gemaakt. Alleen wie Windows Vista Ultimate in de winkel heeft gekocht (een nieuwe versie of een upgrade), beschikt behalve over de dvd met 32bit-Vista ook over een 64bit-versie op dvd.
Kocht u een Windows Vista Home Premium, dan zit er in uw Vista-verpakking geen 64bit-dvd. U kunt deze online (tegen administratiekosten) alsnog bestellen.

Helaas gaat dit niet op wanneer u, zoals verreweg de meeste gebruikers, Vista meegeleverd kreeg bij de aanschaf van een nieuwe computer: in combinatie met een OEM-versie van Windows, geldt Microsofts aanbieding voor de 64bit-dvd namelijk niet. Koopt u Windows Vista in combinatie met een nieuwe pc en maakt u gebruik van een goedkope OEM-versie, dan moet u bij aanschaf van de computer al direct voor de 64bit-versie kiezen. Omdat de installatiesleutel van Vista geen onderscheid maakt tussen de installatie van een 32bit- of een 64bit-versie van het besturingssysteem, geeft dit wel enige ruimte tot experimenteren. Helemaal volgens de regels van Microsoft is dat dan echter niet. Datzelfde geldt voor het naast elkaar – dus op dezelfde pc – installeren van de 32- en 64bit-versie. Zelfs wanneer u deze beide versies van Microsoft kreeg met de aankoop van een volledige Vista-versie in de winkel, verbiedt de licentieovereenkomst van Windows dat u ook beide versies tegelijk geïnstalleerd hebt.

Windows en het virtueel geheugen

Komt Windows geheugen tekort, dan schrijft het de informatie die het over heeft, tijdelijk als binair wisselbestand op de harde schijf. Ieder modern besturingssysteem kent deze mogelijkheid, maar het nadeel is de snelheid. Een harde schijf is traag en het lezen van gegevens uit het virtueel geheugen gaat dus veel langzamer dan het lezen van dezelfde gegevens wanneer die in het RAM-geheugen staan. Een voordeel is dat het Windows wel het totale geheugen kan uitbreiden wanneer de behoefte aan geheugen de daadwerkelijk aanwezige geheugenruimte overtreft. Fysiek RAM-geheugen is te prevaleren boven virtueel geheugen, omdat het anders dan virtueel geheugen ook daadwerkelijke snelheid oplevert en geen virtuele.

De ideale omvang

Een van de meest gestelde vragen over virtueel geheugen heeft betrekking op de omvang. Zelfs nu harde schijven groter zijn dan ooit en een flink wisselbestand daarop nauwelijks terug is te vinden, is het ongevraagd gebruik van de opslagruimte door het besturingssysteem velen een doorn in het oog. Het liefst wil men het Virtueel Geheugen uitschakelen, slechts de angst het systeem instabiel te maken weerhoudt hen ervan. De vraag wat de ideale grootte (kleinte) is van het Virtueel Geheugen, is niet eenvoudig te beantwoorden.

Standaard beheert Windows zelf het Virtueel Geheugen. Dit betekent dat onder Windows XP en Server 2003, Windows bij de installatie een wisselbestand maakt dat minimaal anderhalf keer de omvang heeft van het RAM-geheugen (bij maximaal 1 GB RAM). Zit er meer RAM in de computer, dan wordt de maximale grootte bijgesteld tot maximaal drie keer de omvang van het RAM-geheugen. Op Windows Vista en ook Server 2008 is de standaardomvang anders bepaald en speelt ook de functionaliteit een rol. Het Virtueel Geheugen is nodig om bij een crash een zogeheten ‘kernel dump’ te kunnen maken. Dit is een soort blauwdruk van de informatie in het computergeheugen toen Windows onderuit ging. De minimale omvang is in Vista vastgesteld op de omvang van het RAM-geheugen plus maximaal 1 GB. De maximale omvang is drie maal het RAM-geheugen of 4 GB, afhankelijk van wat het grootst is.

Aanpassen

Wilt u hiervan afwijken, dan moet u weten wat de maximale systeembelasting is, gemeten in de maximale hoeveelheid benodigd geheugen. Dit moet gemeten worden met het grootste aantal open applicaties dat een gebruiker gelijktijdig gebruikt. Deze maximale waarde komt u te weten met Process Explorer. Dit programma kan langere tijd ‘meelopen’ terwijl de computer maximaal wordt gebruikt en laat na enige tijd een ‘Peak Commit Charge’ zien. Trek hier de hoeveelheid werkelijke hoeveelheid RAM-geheugen af om de maximale omvang van het Virtueel Geheugen vast te stellen. Volgens Microsoft-medewerker en Windows-architect Mark Russinovich is het uitschakelen van het Virtueel Geheugen geen verstandige keuze. Hoewel hij erkent dat het schrijven van data naar het Virtueel Geheugen – net als het onderhouden van het Virtueel Geheugen – extra systeembronnen gebruikt, maakt het Windows volgens hem minder flexibel doordat het besturingssysteem geen extra geheugen kan gebruiken wanneer het dat wel nodig heeft. Aan u de keus!

Welk type geheugen heb ik nodig?

Sommige computers, met name notebooks, stellen specifieke eisen aan het geheugen, bijvoorbeeld omdat ze slechts met bepaalde merken overweg kunnen. Omdat de hardwarespecificaties van notebooks algemeen bekend zijn, is dat gelukkig vrij eenvoudig te achterhalen. Via internet kunt er eenvoudig achterkomen welk type geheugen geschikt is, door simpelweg uw type notebook uit een lijst te kiezen. Dergelijke geheugenconfigurators zijn beschikbaar via webwinkels en de sites van geheugenfabrikanten.

blog comments powered by Disqus