Wat is het nut van virtueel geheugen?
Virtueel geheugen vormt het verlengstuk van het echte geheugen in de computer.
Voor normaal computer gebruik volstaat een bepaalde hoeveelheid geheugen.
Als er meer nodig is, dan kan Windows bestaand geheugen verplaatsen naar het virtuele geheugen.
Vervolgens kan het vrij gekomen geheugen voor wat anders worden gebruikt.
Het virtuele geheugen zit in het zogenaamde wisselbestand.
Het wisselbestand staat ergens op de harde schijf in de computer.
In Windows 9x heet dat bestand Win386.swp, in Windows NT (2000, XP, Vista, 7 en hoger) heet dat bestand Pagefile.sys.
Windows werkt het prettigst als het virtuele geheugen zo min mogelijk wordt gebruikt.
Het voordeel van een wisselbestand is dat de computer beschikt over meer bruikbaar geheugen zonder dat dat
de computer er veel langzamer door hoeft te worden.
Een ander voordeel is dat de computer op deze wijze over minder echt (en duur?) geheugen hoeft te beschikken
om prettig te presteren.
Het nadeel is dat de computer er wel langzamer door kan worden.
Een dergelijke situatie ontstaat bijvoorbeeld als een bepaalde toepassing heel veel geheugen nodig
heeft.
Het uitzetten van het virtuele geheugen heeft niet zoveel zin.
Wanneer de computer namelijk plotseling veel geheugen nodig heeft, en dat geheugen is niet beschikbaar, dan
zal Windows vastlopen.
Wanneer er net genoeg geheugen beschikbaar is, dan zal de computer heel erg traag worden!
Wanneer er voldoende virtueel geheugen beschikbaar is, dan is er slechts een kleine kans op een probleem situatie.
Wanneer de computer namelijk plotseling veel geheugen nodig heeft, bijvoorbeeld tijdens het opstarten van een
programma, of met foto -of videobewerking, dan kan de computer (tijdelijk) erg traag worden doordat Windows
continu het wisselbestand gebruikt.
Windows heeft dan nauwelijks gelegenheid om opdrachten uit te voeren, maar als het goed is, zal Windows niet
vastlopen!
Omdat het opstarten van een programma meestal beperkt blijft tot enige seconden of een tiental seconden, is zo'n
trage start niet eens zo hinderlijk.
Mocht het lange opstarten van een programma wel hinderlijk zijn, dan is het verstandig om het echte geheugen uit te breiden.
Het merkbare snelheidsverschil kan heel erg groot zijn.
In ieder geval zal Windows alerter reageren op eventuele opdrachten.
Maar let op!
Soms is de processor (CPU) ook gewoon hartstikke druk en dan kan Windows ook traag reageren.
Dus het traag zijn van een computer kan verschillende oorzaken hebben en per oorzaak zal een bepaalde
oplossing de computer sneller kunnen maken.
Een andere factor, die heel vaak wordt vergeten, dat is dus de harde schijf in de computer!
Nu zijn de afgelopen jaren de harde schijven nogal in capaciteit gegroeid en vooral ook veel sneller geworden.
En sneller betekent dus betere prestaties!
Nog even wat historische cijfertjes:
- Rond 1990 een 80MB harde schijf (Scsi of MFM) al bijzonder.
- Rond 1997 was een 4GB harde schijf (IDE) al heel wat.
- Rond 2002 was een 60GB harde schijf (IDE) al erg gangbaar.
- Rond 2005 was een 320GB harde schijf (Serial-Ata) de norm geworden.
- Anno 2010 is een 1TB harde schijf (Serial-Ata) al heel gewoon ...
Hoeveel echt geheugen heb ik nodig voor Windows?
De vraag hoeveel geheugen Windows nodig heeft, is afhankelijk van de Windows versie en de toepassingen
die worden gebruikt op een computer.
Met name de Game computers beschikken vaak over 16GB of meer (bijvoorbeeld 64GB)! Dat gaat dan vaak in blokjes van 4, 8 of 16GB. De gemiddelde Windows computer zal het met 4 tot 8 GB best aardig doen, maar vermoedelijk is het toch verstandiger om te kiezen voor minimaal 16GB geheugen.
De hedendaagse computers gebruiken DDR4 geheugen, Computers van pakweg 5 jaar oud DDR3 geheugen. Computers van pakweg 10 jaar oud, draaien vaak nog op DDR2 geheugen. En nog oudere computers maken veelal gebruik van DDR1 geheugen dan wel van SD-Ram (1993) geheugen.
Wanneer meer geheugen nodig is, dan is vaak een computer upgrade nodig (moederbord vervangen) omdat het nieuwe geheugen type vaak goedkoper (en wat sneller) is dan het oude geheugen type. Denk bij de koop van een nieuwe computer dus goed na, hoe de computer waarschijnlijk gebruikt gaat worden. Een moederbord met 8 geheugen slotjes biedt mogelijk nog wat flexibiliteit wanneer bij de aanschaf er 4 gevuld gaan worden. Maar vaak wordt vanuit kosten overwegingen een wat goedkoper systeem gekozen met minder geheugen slotjes en dan moet eigenlijk gelijk gekozen voor de juiste hoeveelheid computer geheugen.
Bijzondere toepassingen zoals virtueel gebruik, grafische toepassingen en ongeveer alle programma's tegelijk in gebruik hebben, dat vraagt veel geheugen. Mijn eigen werk computer werkt met 4GB DDR2 nog best aardig, maar meer dan Office toepassingen, foto bewerking, video bewerking en wat programmeer werk, doe ik er niet mee. Regelmatig zie ik dat een virusscanner veel processor tijd opslokt, maar gelukkig valt de belasting door virusscanners in de hedendaagse systemen erg mee.
Soms wordt een computer langzaam door een probleem met het besturingssysteem (bv Windows) en/of de gebruikerssoftware. In dat geval is de software de oorzaak en zal dat probleem eerst opgelost moeten worden.
- Windows 8, 10
De snelheid van de computer wordt voor het grootste deel bepaald door de CPU of wel de processor(s) in de computer. Vroeger was de snelheid van de CPU een maat voor de echte snelheid, dat is in deze tijd niet meer zo. Het is wel zo dat de snelste CPU's nog steeds veelal een klokfrequentie van 2 tot 3 GHz hebben. Met overklokken kan dat nog hoger worden. Was vroeger een dual core processor al iets bijzonders, tegenwoordig zijn 4 of 8 cores of nog meer al heel gewoon geworden.
De minimum geheugen voor Windows 8 of 10 is 1 GB geheugen. In het algemeen is dat veels te weinig en een computer met 1 GB geheugen werkt echt niet prettig. Let er op dat een instap model (ik zit dan te denken aan een eenvoudig laptop, 2 in 1 computer of tablet) dat daar tenminste 2 GB werk geheugen in zit. In een goedkope computer zit vaak een wat langzamere en zuinige CPU (bijvoorbeeld de Intel Atom Z3735F) met een snelheid van 1,33GHz.
Een gemiddelde desktop of snelle laptop zal een hele andere CPU gebruiken. Vaak betreft het een Intel core i5, i7 of een AMD FX8 CPU. In goedkopere computers zit van een Intel core i3 of een AMD FX6 of A10 CPU. Het minimum geheugen lijkt 2GB maar neem altijd meer, tenminste 4 of 8GB. En let op, de meeste moderne hardwerkende computers beschikken inmiddels over 16GB of meer geheugen.
De huidige generatie CPU's ondersteunen vaak ook een videokaart, voor Intel is dat dan vaak Intel HD graphics en voor AMD Radeon graphics. De echte gamer neemt hier geen genoegen mee, die gaat voor een snelle pci-express videokaart.
- Windows XP, Vista of 7 en hoger
Vaak wordt de snelheid bepaald door bijvoobeeld de processor(s) in de computer.
De hedendaagse computers maken veelal gebruik van processoren met een klokfrequentie van 2GHz of meer en
dan heb ik het nog niet gehad over dual core en quad core ....
Deze processoren kunnen heel wat, maar minstens zo belangrijk is de hoeveelheid geheugen in de computer.
Voor Windows XP zal vaak 512MB geheugen voldoen, maar een hoeveelheid van 1 GB is verstandiger.
Voor Windows Vista zal 1GB geheugen voldoen, maar een hoeveelheid van 2 GB geheugen is veel verstandiger.
Voor Windows 7 zal 1GB geheugen voldoen, maar het is veel verstandiger om 2GB of meer geheugen te nemen.
Let ook op de geheugen configuratie.
Kies zoveel mogelijk voor het snelste geheugen dat op het moederbord past en benut, indien mogelijk, de optie om
dubbel (dual) geheugen te gebruiken (meestal zijn dan 2 dezelfde geheugen stripjes nodig).
Dit geheugen werkt dan 128 bits breed en dat geeft betere prestaties dan 64 bits geheugen dat een enkel geheugen stripje zou bieden.
Tegenwoordig is ook DDR3 geheugen al erg gangbaar terwijl de voorgaande versies, DDR2 en DDR geheugen ook nog best populair zijn.
Het moderniseren van een wat oudere computer met tenminste 2GB DDR2 of DDR geheugen is niet erg zinvol, de snelheidswinst is beperkt en het geheugen is ook relatief duur. Heeft een wat oudere computer met nog 1GB DDR2 of DDR geheugen dan kan het nog wel zinvol zijn, anderzijds, wanneer de computer kennlijk nog prettig werkt, zou ik ook daar niks aan veranderen. Steek het geld liever in de volgende computer.
Een wat oudere computer met DDR3 geheugen is nog wel zinvol om te upgraden, maar neem niet te veel want de kostprijs van geheugen kan behoorlijk oplopen vergeleken met DDR3 en DDR4 geheugen. Onlangs heb ik wel een laptop voor zien van 4GB extra DDR3 geheugen. Let bij de aanschaf wel op dat passend geheugen in snelheid (bv 1600MHz) en geschikte voedingsspanning wordt gekocht. Er bestaat namelijk ook DDR3 geheugen met een lager voltage,
Oh ja, Windows XP werkte in 2001 gewoon prettig met 128MB geheugen, tegenwoordig is dat echt te weinig.
Windows XP kan overigens ook prima gebruikt worden op wat oudere systemen, zoals een K6-3/400, Pentium II o.i.d.
Wat van belang is dat zo'n systeem beschikt over voldoende geheugen en een voldoende snelle harde schijf.
- Windows 95, 98, 98SE, ME, NT4, 2000
Voor oudere Windows versies, zoals 2000, ME, 98SE, 95 en 95 gelden hele andere getallen!
Windows 95: Dankzij het virtuele geheugen kan Windows 95 al worden gebruikt met 8MB geheugen.
In zo'n situatie is Windows gewoon traag.
Meestal wordt Windows 95 gebruikt op (386 en) 486 systemen met pakweg 16MB.
Zoiets is ook niet echt snel.
Verhoging naar 20MB of meer zal een prettiger resultaat opleveren.
Omdat Windows 95 wordt gebruikt op oudere computers met weinig geheugen en langzame harde schijven,
hoef je niet te rekenen op wonderen.
Windows 98: Windows 98 werkte al met 12MB, maar vraag dan niet naar de prestaties.
Terwijl 32MB de boel al merkbaar sneller en prettiger maakt geeft uitbreiding naar
64MB of meer, kortom veel betere prestaties.
Het is wel zo dat Windows 98 wel eens op een 486 of 5x86 systeem wordt gebruikt, maar vaker was het al een
moderne Pentium I en AMD systemen.
Deze systemen beschikten vaak al over een IDE schijfaansturing met PIO-4 voor de oudere systemen en UDMA 33 of ATA-66 en beter voor de moderne systemen.
Kortom, nog meer snelheidswinst.
Windows NT4: Windows NT 4 werkt eigenlijk in het geheel niet prettig met 32MB (of minder).
Kies dus hier voor minimaal 64MB en een voldoende snelle processor.
Een 486DX2 kan, maar een DX4 is beter en waarschijnlijk is een Pentium of AMD processor nog geschikter.
Windows 2000: Windows 2000 werkte bij mij niet prettig met een Pentium 200MMX en 64MB Dimm.
Met 128MB of 256MB werkt het allemaal een stuk prettiger.
Bedenk wel dat de oudere Windows versies gebruikt werden in oudere computers met ander geheugen en andere processoren dan tegenwoordig
gebruikelijk is.
Het oudere geheugen, zo'n beetje gangbaar vanaf 1990, was bijvoorbeeld fastpage (30 en 72 pins Simms) en EDO geheugen (72 pins Simms)
Dat geheugen werkte beduidend trager dan het nu ook verouderde SD Ram (168 pins) Dimm geheugen, zo'n beetje gangbaar vanaf 1998.
Toendertijd werd mijn computer bijna 50% sneller toen ik 96MB Edo geheugen verving door 128MB SD-Ram (Dimm).
En ja, het geheugen dat daarna kwam, RAMBUS geheugen en DDR geheugen is dus nog weer sneller dan dat Dimm geheugen.
En dus zal dat ook betere computer prestaties op kunnen leveren.
Was rond 1990 een 486 met een snelheid van 33MHz heel wat, in 1997 was dat inmiddels een Pentium I 200MMX processor geworden.
Niet veel later volgden de PII en PIII processoren.
Een ander puntje, dat zeker vroeger belangrijk was, is het cache geheugen in een processor.
Het cache geheugen in een processor een grote invloed kan hebben op de totale snelheid van een computer.
Het cache geheugen vormt namelijk een buffer tussen de snelle processor en het langzamere echte geheugen.
Als het cache geheugen goed wordt benut, zal dat de prestaties van de computer heel erg verbeteren.
Ik heb hier vroeger (in 1999) onderzoek naar gedaan, getallen liggen in de orde van 10 tot 30%.
Een computer beschikt over te weinig geheugen op het moment dat verhoging van de processorsnelheid
nauwelijks winst laat zien.
In zo'n geval is de computer gewoon hartstikke druk om informatie van/naar het echte geheugen te lezen/schrijven
naar het virtuele geheugen (veelal is dat dus de harde schijf ...).
Verhoging van de lees -en schrijfsnelheid van de harde schijf zal dan al gauw een verbetering laten zien.
Nog beter is het om dan gewoon het echte geheugen in hoeveelheid te verhogen.
Het kan gebeuren dat Windows 2GB geheugen gebruikt, terwijl in werkelijkheid er maar
1GB beschikbaar is.
Dat betekent dat Windows veel geheugen activiteiten gaat uitvoeren.
Wanneer die geheugen activiteiten niet zoveel tijd in beslag nemen, dan is een eventuele geheugen
uitbreiding nauwelijks merkbaar.
Wanneer dat echter wel veel tijd in beslag neemt, dan is verdubbeling van het geheugen zeer snel merkbaar.
Bij gebruik van het wisselbestand is het verstandig ervoor te zorgen dat dat bestand op de snelste
schijf staat!
Dit levert altijd het prettigste resultaat op.
Nu wordt in de moderne Windows versies (van versie 2000) het wisselbestand efficiënter gebruikt,
Met oudere Windows versie kan veel tijd verloren gaan naar het zoeken van het bestand en het zoeken naar de
informatie binnen het bestand zelf.
Dus een schijf stampvol met bestanden, die is altijd in het nadeel.
Enerzijds vanwege de defragmentatie anderzijds kost het zoeken naar het gewenste bestand gewoon veel tijd.
Eigen onderzoek met Windows 98 toont aan dat Windows 98 het beste presteert als het wisselbestand
op een lege partitie staat.
De snelheids winst kan zo'n 20% bedragen. Geen schokkende getallen, maar toch ...
Dit heb ik getest met een WAV-MP3 conversie en een C-compiler die pakweg 100.000 regels code compileerde.
Hoeveel virtueel geheugen heb ik nodig?
Dit is een moeilijke vraag en er bestaan veel meningen over.
Laten we een verschil maken tussen de moderne Windows versies, zoals XP, Vista en 7 en de voorgaande versies.
Dit om de uitleg iets te vergemakkeljken.
Zonder goede reden zijn er namelijk nog steeds regeltjes in omloop die vertellen wat de beste oplossing zou zijn en die regeltjes
zjn een eigen leven gaan leiden.
Bijvoorbeeld het regeltje dat een wisselbestand altijd 1,5 maal groter zou moeten zijn dan het aanwezige normale geheugen.
Tja, wat moeten we daarna nou mee?
Uitschakelen van het virtueel geheugen raad ik echt af!
Voor Windows 2000, XP, Vista, 7, 8 en 10 geldt dat Windows dat eigenlijk erg goed regelt.
Mijn advies is: laat gewoon Windows alles regelen.
Wilt u toch een vaste grootte van een wisselbestand, zorg er dan voor dat er op een andere partitie ook een wisselbestand kan staan die geen beperkingen heeft.
Windows is niet gebonden aan één wisselbestand, er mogen er meerdere aangemaakt worden!
Soms is het wel zinvol om een wisselbestand op een andere partitie te plaatsen,
soms is het verstandig om een partitie een bepaalde afmeting te geven.
Het heeft geen voordelen om een wisselbestand uit te schakelen, zelfs als de computer over meer dan genoeg geheugen
lijkt te beschikken.
Voor Windows XP is het advies om de partitie waarop het wisselbestand staat te gebruiken
met een clustergrootte van 4 kB.
Dit omdat de informatie in het wisselbestand in blokken van 4 KB wordt gelezen en geschreven.
Dit betekent eigenlijk dat een FAT32 partitie, waarop het wisselbestand staat, voor maximale prestaties
maximaal 8 GB mag zijn. Maar 8GB is vaak veels te weinig dus laat Windows het zelf maar uitzoeken.
Belangrijk: Als je een crash wil analyseren (debuggen) en het fout rapport moet een 'kernel dump' of een 'full dump'
maken, dan heb je voldoende virtueel geheugen op C: (?) nodig.
Er moet dan een minimale instelling zijn van pakweg 200 MB (voor een 'kernel dump') of van de totale RAM
(voor een 'full memory dump') ...
Als je dat niet wilt, dan is het verstandig de fout rapport instelling aan te passen.
Kies dan voor: Small Dump, at Control Panel | System | Advanced, click Settings in the
Startup and Recovery section, and select in the Write Debug information to panel.
Voor Windows 95, 98, 98SE, ME, NT4 ligt het gebruik van virtueel geheugen wat anders.
Veelal omdat vroeger het geheugen duur was met als gevolg dat er eigenlijk (te) weinig geheugen in de computer zat.
Desondanks kan gesteld worden dat de standaard Windows instellingen goed voldoen!
Gedeeltelijk zijn de volgende antwoorden ook gebaseerd op vroegere gewoontes.
Zelf zou ik zeggen: Het virtueel geheugen heeft de juiste grootte als de computer (prettig) gebruikt kan worden.
Bij computers met 64MB of minder geheugen is de vuistregel 2,5 x het echte geheugen erg praktisch.
Beschikt de computer over meer geheugen, tja, dan kan vaak worden volstaan met een lagere factor
(tussen de 1 en 2x).
Het is zinvol om het geheugen gebruik te controleren, maar het is ook zo, dat Windows het totale
beschikbare geheugen zo goed mogelijk probeert te gebruiken.
Dus ja, het geheugen komt uiteindelijk wel op.
De praktijk wijst uit dat de standaard Windows instellingen in het algemeen goed voldoen.
Hieronder zijn verwijzingen te vinden naar Nederlands -en Engelstalige sites die er meer informatie over geven:
Foutberichten over onvoldoende geheugen ... (MSKB-253912),
Virtual Memory in Windows XP,
Windows 98 & WinME Memory Management en
VCACHE & Win Me, SE, 98 Revised Jan 2003.
De kern van de discussie is dat Windows 95 een brak geheugenbeheer heeft.
Verder behoeft Windows 98 normaliter geen speciale instellingen tenzij het Windows ME betreft en/of de
computer beschikt over meer dan 128 MB geheugen.
Voor Windows 95 is het verstandig om de regels MinFileCache en MaxFileCache
toe te voegen aan de [vcache] sectie in het SYSTEM.INI bestand.
Het geheugenbeheer in Windows 98 is veel beter en behoeft deze instelling niet.
Voor Windows ME is het verstandig de regel 'ConservativeSwapfileUsage=1' op te nemen in het System.ini bestand.
Als een systeem Windows 98 systeem meer dan 128MB RAM heeft, dan is het verstanding
de VCache in te stellen op maximaal 70% van de totale RAM hoeveelheid.
Dat is interessant, aan deze regel houd ik me zelf niet! Wanneer een systeem over meer dan 512MB
RAM beschikt, dan is een VCache van 512MB het maximum!
Dit kan door de 'MaxFileCache=x' regel op te nemen in de [vcache] sectie van het SYSTEM.INI bestand.
Als een systeem over meer dan 1GB Ram beschikt, dan is er voor Win98 een echt probleem (volgens MSKB-304943).
Het kan beperkt worden tot 1 GB door de regel 'MaxPhysPage=40000' op te nemen in de [386enh] sectie van het SYSTEM.INI bestand.
Met MSKB-253912 lijkt zelf de hoeveelheid van 1GB niet haalbaar.
Zo wordt het vanzelf wel heel erg ingewikkeld.