Het hoe-en-wat, tips en trucs: het Windows wisselbestand

Pagina: 1
Acties:
  • 462 views sinds 30-01-2008
  • Reageer

Acties:
  • 0 Henk 'm!

  • Phyxion
  • Registratie: April 2004
  • Niet online
Na aanleiding van een groot aantal posts (Zie hier onder voor een aantal posts) over de Pagefile van Windows in het Battlefield 2 topic, leek het me tijd om eens een echt topic te maken over de 'echte' waarheid van de Pagefile.
secoh schreef op zondag 28 augustus 2005 @ 16:58:
[...]


De C't meld echter ook dat XP nooit meer dan 1,5 gb swap gebruikt. Ik kan er zelf niets over zeggen, bij mij komt ie nooit verder dan ca. 986 mb
Bor de Wollef schreef op zondag 28 augustus 2005 @ 17:16:
[...]


Windows kan uberhaubt niet meer dan 4GB adresseren. Je kunt dan wel een swapfile van 10GB aan gaan maken, nut zal het niet echt hebben.
Op de eerste post zal ik meteen terugkomen, en hem ook meteen ontkrachten. Er bestaat namelijk een utility die kan controleren hoeveel pagefile er gebruikt wordt door Windows XP. Deze meet alleen de pagefile, en denk dus niet dat hij ook je normale RAM er ook bij optelt.

Even een screenshot als 'bewijs':

Afbeeldingslocatie: http://img383.imageshack.us/img383/4125/pagefilewindowsxpsized2em.png

Die 0MB klopt natuurlijk niet, hij is namelijk ingesteld op een 2500MB.


Over die 4GB, ik kwam in ieder geval al een behoorlijk end, namelijk 2,5GB pagefile + 1GB intern werd er gebruikt, is al 3,5GB totaal. Alleen heb ik over deze test al bijna een half uur gedaan, omdat met 10 Prime95's op de achtergrond die de volledige CPU en het volledige RAM + pagefile gebruiken niet echt soepel meer loopt ;) Heb dus nog even geduld (Of iemand anders test het natuurlijk even :))

[ Voor 3% gewijzigd door Phyxion op 29-08-2005 07:21 ]

'You like a gay cowboy and you look like a gay terrorist.' - James May


Acties:
  • 0 Henk 'm!

  • sanfranjake
  • Registratie: April 2003
  • Niet online

sanfranjake

Computers can do that?

(overleden)
even overleg.

*Weer open na overleg:

Het lijkt ons leuk om te discussieren over het gebruik van het wisselbestand. Beargumenteer wel je keuze voor bepaalde instellingen, want enkel de grootte van de pagefile bevat nauwelijks stof tot discussie. Een uitgebreide beschrijving van het wisselbestand kan je vinden op www.microsoft.com : KB 555223: RAM, Virtual Memory, Pagefile and all that stuff :)

[ Voor 95% gewijzigd door sanfranjake op 28-08-2005 23:05 ]

Mijn spoorwegfotografie
Somda - Voor en door treinenspotters


Acties:
  • 0 Henk 'm!

  • Phyxion
  • Registratie: April 2004
  • Niet online
Even geresized en veranderd.

Over de tweede quote, kon ik dit al makkelijk in de Processes and Address Spaces vinden bij Microsoft:

All processes (e.g. application executables) running under 32 bit Windows gets virtual memory addresses (a Virtual Address Space) going from 0 to 4,294,967,295 (2*32-1 = 4 GB), no matter how much RAM is actually installed on the computer.

Natuurlijk wil ik nog eens proberen om over de 4GB te komen met virtual memory :)


Ik heb de pagefile nu ingesteld op 4096MB (Maximum per partitie) op mijn 40GB HD F:\. Minimum en maximum grootte gelijk aan elkaar gesteld voor het swappen (Al lees ik hier en daar dat het minimum en maximum niet gelijk hoeven te zijn, en dat het toch niet zo erg gaat swappen met een moderne PC). De pagefile zit dus niet op mijn normale Windows schijf, maar ik heb er een speciale HD voor :)

[ Voor 31% gewijzigd door Phyxion op 29-08-2005 07:29 ]

'You like a gay cowboy and you look like a gay terrorist.' - James May


Acties:
  • 0 Henk 'm!

  • Morax
  • Registratie: Mei 2002
  • Laatst online: 12-09 17:02
Hmmm, een dedicated pagefile schijf is eigenlijk best een goed idee, daar had ik zelf nog niet aan gedacht :)

What do you mean I have no life? I am a gamer, I got millions!


Acties:
  • 0 Henk 'm!

  • Phyxion
  • Registratie: April 2004
  • Niet online
Morax schreef op maandag 29 augustus 2005 @ 07:38:
Hmmm, een dedicated pagefile schijf is eigenlijk best een goed idee, daar had ik zelf nog niet aan gedacht :)
Ik had er zelf al eerder aan gedacht, en toen las ik op het internet er ook nog wat over, en toen heb ik het getest. Vooral in bijvoorbeeld BF2, die toch ook nogal wat van je HD vergt en het geheugen, dan moeten er twee dingen op de HD worden gedaan, en de gegevens lezen en geheugen schrijven en lezen op de HD. Dit kan er voor zorgen dat het enorm gaat schokken ingame, en dat je gewoon een tijdje niks kan doen voordat alles weer klaar is :) Door het naar een aparte HD te zetten, heb je hier veel minder tot geen last meer van :)

Maar goed, ik ben nog even bezig geweest om 4GB aan pagefile vol te krijgen, het is er uiteindelijk 3292MB geworden:

Afbeeldingslocatie: http://img373.imageshack.us/img373/2497/pagefilewindowsxp3292mb7ut.png

Ik kon 3292MB pagefile + 1024MB RAM volkrijgen met Prime95, daarna gaf Prime95 aan dat hij Out Of Memory was (Nog nooit eerder gezien :9 ). Ik zal dus nog wat andere kleine progsels er bij moeten gebruiken, want die konden nog wel 'prima' opstarten :*)

Hieraan is dus al duidelijk te zien dat Windows wel degelijk meer dan 4GB (RAM + Pagefile) kan adresseren :)

De pagefile settings zijn nog precies hetzelfde als bij mijn vorige post.

Waar het allemaal mee begon was BF2. Daarom heb ik even BF2 opgestart, tegelijk met het progsel, zodat die kan bekijken wat de Peak Usage is van de pagefile:

Afbeeldingslocatie: http://img400.imageshack.us/img400/5198/sessionpeakusage3qp.png

Verder liepen er geen programma's, alleen BF2 en de pagefilescript :) BF2 gebruikte hier dus maximaal 3685MB van de pagefile B)

[ Voor 13% gewijzigd door Phyxion op 29-08-2005 08:11 ]

'You like a gay cowboy and you look like a gay terrorist.' - James May


Acties:
  • 0 Henk 'm!

Verwijderd

Een duidelijke stap voor stap handleiding om hoe de pagefile in te stellen kun je vinden op http://www.petri.co.il/pagefile_optimization.htm

En wat betreft het 4gb verhaal, dat was in NT4 zo volgens
http://support.microsoft....aspx?scid=kb;en-us;197776

Acties:
  • 0 Henk 'm!

  • Phyxion
  • Registratie: April 2004
  • Niet online
Verwijderd schreef op maandag 29 augustus 2005 @ 09:09:
Een duidelijke stap voor stap handleiding om hoe de pagefile in te stellen kun je vinden op http://www.petri.co.il/pagefile_optimization.htm

En wat betreft het 4gb verhaal, dat was in NT4 zo volgens
http://support.microsoft....aspx?scid=kb;en-us;197776
De eerste link werkt hier helaas niet, die had ik ook al graag even door willen lezen, maar om de een of andere reden werkt het hier niet :'(
MORE INFORMATION
Computers can hold large amounts of physical RAM, which has become more common. Up to 4 GB of RAM have been seen in installations of computers running Windows NT 4.0 Terminal Server and Windows NT 4.0 Enterprise Edition. These servers may require over 12 GB of pagefile space. Unfortunately there is a size limit of 4,095 MB on a single pagefile and only one pagefile is allowed for each logical partition.

For these large memory computers, the workaround is to divide up one or more large physical drives into 4 GB logical drives and use the entire logical drive as a pagefile. The administrator may create as many pagefiles as needed.

You can also reassign the drive letters to high values and use the following article to hide them from the users.
Daar was ik al achtergekomen, in XP werkt het precies hetzelfde, en ik had ook al 1 schijf opgedeeld in meerdere partities om zo de pagefile te vergroten, als je maar 1 partitie hebt, kan je maar maximaal een pagefile hebben van 4GB.

//EDIT:
Klik voor Petri.co.il (Google Cache)

[ Voor 6% gewijzigd door Phyxion op 29-08-2005 09:29 ]

'You like a gay cowboy and you look like a gay terrorist.' - James May


Acties:
  • 0 Henk 'm!

  • StevenK
  • Registratie: Februari 2001
  • Laatst online: 23:56
Misschien dat in dit topic een stukje uitleg over hoe paging werkt wel op zijn plaats is:

Alle WinNT gebaseerde systemen gebruiken iets dat heet 'demand paging'. Het uitgangspunt daarbij is dat, voor zover daarvoor ruimte is, alle niet gebruikte, pageable geheugenblokken weggeschreven worden naar de pagefile.

Gevolg daarvan is dat het interne geheugen zoveel mogelijk vrij gehouden wordt en daardoor veel sneller gealloceerd kan worden op systemen zoals 9x waar het pagen pas begint wanneer er een geheugentekort is.

Daarnaast is er nog een klein detail: een memory-dump wordt altijd naar de pagefile geschreven op de disk waar het OS op staat. Vandaar dat een systeem na een dump ontzettend staat te ratelen: de dump staat op de plaats van de oude pagefile en er moet daarom een nieuwe pagefile aangemaakt worden.

Was advocaat maar vindt het juridische nog steeds leuk


Acties:
  • 0 Henk 'm!

  • Phyxion
  • Registratie: April 2004
  • Niet online
StevenK schreef op maandag 29 augustus 2005 @ 09:32:
Misschien dat in dit topic een stukje uitleg over hoe paging werkt wel op zijn plaats is:

Alle WinNT gebaseerde systemen gebruiken iets dat heet 'demand paging'. Het uitgangspunt daarbij is dat, voor zover daarvoor ruimte is, alle niet gebruikte, pageable geheugenblokken weggeschreven worden naar de pagefile.

Gevolg daarvan is dat het interne geheugen zoveel mogelijk vrij gehouden wordt en daardoor veel sneller gealloceerd kan worden op systemen zoals 9x waar het pagen pas begint wanneer er een geheugentekort is.

Daarnaast is er nog een klein detail: een memory-dump wordt altijd naar de pagefile geschreven op de disk waar het OS op staat. Vandaar dat een systeem na een dump ontzettend staat te ratelen: de dump staat op de plaats van de oude pagefile en er moet daarom een nieuwe pagefile aangemaakt worden.
Bedankt voor de uitleg!

Maar even over die memorydump, als ik bij de memorydump eigenschappen zie, staat er dit:
%SystemRoot%\MEMORY.DMP
Daar komt de dump te staan, dus C:\Windows\Memory.DMP. De pagefile staat standaard gewoon op C:\ (Of een andere partitie); X:\pagefile.sys. Of bedoelen je hier heel wat anders :?

'You like a gay cowboy and you look like a gay terrorist.' - James May


Acties:
  • 0 Henk 'm!

  • StevenK
  • Registratie: Februari 2001
  • Laatst online: 23:56
FnF schreef op maandag 29 augustus 2005 @ 09:44:
[...]

Bedankt voor de uitleg!

Maar even over die memorydump, als ik bij de memorydump eigenschappen zie, staat er dit:
%SystemRoot%\MEMORY.DMP
Daar komt de dump te staan, dus C:\Windows\Memory.DMP. De pagefile staat standaard gewoon op C:\ (Of een andere partitie); X:\pagefile.sys. Of bedoelen je hier heel wat anders :?
Ja, ik bedoel de fysieke plaats op de schijf. Wat 'ie bij een dump doet is wegschrijven naar de pagefile en daarna een move/rename.

Was advocaat maar vindt het juridische nog steeds leuk


Acties:
  • 0 Henk 'm!

  • Phyxion
  • Registratie: April 2004
  • Niet online
StevenK schreef op maandag 29 augustus 2005 @ 09:57:
[...]

Ja, ik bedoel de fysieke plaats op de schijf. Wat 'ie bij een dump doet is wegschrijven naar de pagefile en daarna een move/rename.
Oke, zoiets dacht ik al ja :)

Vanmiddag zal ik eens proberen om er een SCSI schijf bij te hangen die uitsluitend voor wisselbestand gebruikt gaat worden. De 40GB IDE wordt namelijk ook nog voor de mail gebruikt, maar dat zijn toch maar een paar MB :)

'You like a gay cowboy and you look like a gay terrorist.' - James May


Acties:
  • 0 Henk 'm!

  • eMiz0r
  • Registratie: Februari 2002
  • Laatst online: 13-09 13:44
Ander vraagje met betrekking tot de pagefile:

Ik heb een Windows 2003 server die aangeeft op dit moment 1,03 GB PF te gebruiken. Er zit in totaal 2 GB RAM in en er is 2 GB PF geheugen toegewezen. Het totale geheugengebruik is 1,06 GB. Betekent dat nou dat het RAM geheugen zit te slapen? (of zit ik nou juist te slapen? :p)

Als het zo is: zou het veel effect hebben om het PF geheugen juist helemaal uit te zetten? Of drastisch te verlagen?

[ Voor 4% gewijzigd door eMiz0r op 11-10-2005 11:09 ]


Acties:
  • 0 Henk 'm!

  • StevenK
  • Registratie: Februari 2001
  • Laatst online: 23:56
eMiz0r schreef op dinsdag 11 oktober 2005 @ 11:01:
Ander vraagje met betrekking tot de pagefile:

Ik heb een Windows 2003 server die aangeeft op dit moment 1,03 GB PF te gebruiken. Er zit in totaal 2 GB RAM in en er is 2 GB PF geheugen toegewezen. Het totale geheugengebruik is 1,06 GB. Betekent dat nou dat het RAM geheugen zit te slapen? (of zit ik nou juist te slapen? :p)

Als het zo is: zou het veel effect hebben om het PF geheugen juist helemaal uit te zetten? Of drastisch te verlagen?
Lees de rest van het topic nog eens. Het heeft geen enkele zin een winnt-based machine te proberen te dwingen niet te pagen.

Was advocaat maar vindt het juridische nog steeds leuk


Acties:
  • 0 Henk 'm!

  • Borizz
  • Registratie: Maart 2005
  • Laatst online: 24-08 20:35
Het RAM geheugen ligt niet te slapen, maar indien er een pagefile aanwezig is zal er altijd een gedeelte gebruikt worden om stukken geheugen op te slaan waarvan verwacht wordt dat ze niet zo snel aangesproken zullen worden. Zo wordt er een mooie balans gevormd tussen je vrije RAM geheugen en je pagefile.

Als je eerst het RAM helemaal vol zou zetten en dan pas verder zou gaan met de pagefile, kom je in problemen met programma's die gestart worden, nadat het RAM geheugen vol is. Deze zouden dan volledig in de pagefile draaien dat wil je natuurlijk niet.

If I can't fix it, it ain't broken.


Acties:
  • 0 Henk 'm!

  • StevenK
  • Registratie: Februari 2001
  • Laatst online: 23:56
Borizz schreef op dinsdag 11 oktober 2005 @ 11:46:
Het RAM geheugen ligt niet te slapen, maar indien er een pagefile aanwezig is zal er altijd een gedeelte gebruikt worden om stukken geheugen op te slaan waarvan verwacht wordt dat ze niet zo snel aangesproken zullen worden. Zo wordt er een mooie balans gevormd tussen je vrije RAM geheugen en je pagefile.

Als je eerst het RAM helemaal vol zou zetten en dan pas verder zou gaan met de pagefile, kom je in problemen met programma's die gestart worden, nadat het RAM geheugen vol is. Deze zouden dan volledig in de pagefile draaien dat wil je natuurlijk niet.
Het ligt iets genuanceerder: als je geheugen vol zou zitten en je start een nieuwe app op, dan moet Windows eerst geheugen vrij gaan maken, voor de nieuwe app kan starten. Overigens is dat hoe paging in win9x werkt.

Was advocaat maar vindt het juridische nog steeds leuk


Acties:
  • 0 Henk 'm!

  • Uchy
  • Registratie: Maart 2005
  • Laatst online: 10-09 15:09
Persoonlijk heb ik de PF helemaal uitgezet met winXP Pro 512MB Ram. Merk wel het verschil in snelheid. Alleen als ik echt heftige applicaties bij elkaar draai krijg ik een mooi driehoekje.
Ik merk dat de respons veel sneller is van dingen die ik doe, als de PF uit is. Hij doet toch altijd wat met de HD als je een PF aan hebt staan, en dat verschil merkte ik wel.

One small Uch for a man, one giant Uch for mankind | specs


Acties:
  • 0 Henk 'm!

Verwijderd

Er zijn een paar tweaks die je kunt toepassen om het geheugengebruik van Windows te beinvloeden, en daarmee ook het gebruik van de pagefile;

- In system.ini moet je een sleutel aanmaken bij [386enh]
* ConservativeSwapFileUsage = 1

Deze switch zorgt ervoor dat Windows maximaal gebruik maakt voordat het de pagefile aanspreekt. Zo wordt er dus optimal gebruik gemaat van je systeemgeheugen, en wordt niet zoals standaard het gros van de dingen zowel in het systeemgeheugen als in de pagefile opgeslagen (een beetje dubbelop dus).

Nadeel is dat al;s je je systeem in slaapstand oid zet, het hele geheugen helemaal gecopieerd moet worden in de pagefile, ipv dat dat al "voor de helft gebeurt is".

- In het register kan je bij “HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ Windows\CurrentVersion\Explorer”
* Een nieuwe waarde aanmaken "AlwaysUnloadDLL", met waarde = 1

In de c't gelezen dat deze tweak bij windows XP geen werking meer heeft. Maar ik heb hem er al lange tijd in staan, en er geen nadelig effect van ondervonden; En ik heb hem dus laten staan.

Maar deze switch zorgt ervoor dat Windows ongebruikte DLL's uit het geheugen haalt, ipv ze te laten staan wegens "misschien nog wel eens nodig, en dan issie er alvast".

- In het register kan je bij "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlset\Control\Session Manager\MemoryManagement\" het DWord "DisablePagingExecutive" vinden;
* Daar moet je de waarde van op 1 zetten, ipv 0.

Het doet dus dit:
User-mode and kernel-mode drivers and kernel-mode system code is usually written to be either pageable or non-pageable. In cases where drivers or system code is pageable, you can use the following registry entry to keep this pageable code in RAM, but this is only advisable on systems with extremely large amounts of RAM.

- Op dezelde plaats in het register staat ook "LargeSystemCache" meestal met waarde 0
* Verander deze waarde ook in 1;

Deze verandering zorgt ervoor dat Windows meer systeemgeheugen reserveert voor regelmatig gebruikte programma's. Windowes slaat frequent (delen van) gebruikte programma's nl op in het systeemgeheugen, zodat ze niet steeds ingeladen hoeven worden.systeemgeheugen. Probeer bv. Mozilla eens op te starten; De eerste keer dat je dat doet duurt dat vrij lang, als je Mozilla daarna afsluit, en vlak daarnaa weer opstart zie je dat ie uit het geheugen wordt geladen ipv van de HD.




De bovenstaande tweaks zijn redelijk algemeen bekende geheugentweaks. Ze proberen het geheugengebruik van Windowx te beinvloeden, en daarmee ook het gebruik van de pagefile.

Enkele standaard-aanbevelingen zijn:
- Pagefile op 1,5 x je basisgeheugen zetten
- Min page-file en max-pagefile op dezelfe waarde zetten (en dus "let windows manage the pf size" uitzetten).
- de pagefile zoveel mogelijk ongefragmenteerd laten creeren, het liefst op een andere HD die op een ander IDE / Sata-kanaal staat.

Maar goed, wat ik schreeft; Het zijn algemene aanbevelingen.

Tav de maximale grens van 4Gb geheugen, kan je in dezelfde plaats in het register ("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlset\Control\Session Manager\MemoryManagement\") het DWord "PhysicalAdressTranslation" vinden. Bij de wat modernere systemen zou je daar de waarde op 1 kunnen zetten ipv 0. Maar alleen nuttig met veel geheugen, en met een ondersteundende CPU/Chipset.

Zowiezo is de beste tip: Zorg gewoon voor genoeg systeemgeheugen, dat scheelt een heleboel gedoe.

[ Voor 23% gewijzigd door Verwijderd op 11-10-2005 14:48 ]

Pagina: 1