Vraag Elk voordeel of nadeel van het verwijderen van een pagefile op een 8 GB RAM-apparaat?


Ik gebruik Windows 7 op een dual-core, x64 AMD met 8 GB RAM.

Heb ik zelfs een paginabestand nodig?

Zal het verwijderen ervan de prestaties schaden of schade toebrengen?

Zou het een verschil maken of dit een server of een desktop is?

Maakt Windows 7 versus Windows 2008 het verschil met een paginabestand?


214
2018-06-10 19:50


oorsprong




antwoorden:


TL; DR-versie: laat Windows omgaan met uw geheugen- / paginalijstinstellingen. De mensen bij MS hebben een lot meer uren aan het denken over deze problemen dan de meesten van ons sysadmins.

Veel mensen lijken aan te nemen dat Windows op verzoek gegevens naar het wisselbestand pusht. EG: iets wil veel geheugen, en er is niet genoeg RAM om aan de behoefte te voldoen, dus Windows begint op dit laatste moment waanzinnig gegevens van RAM naar schijf te schrijven, zodat het RAM-geheugen kan vrijmaken voor de nieuwe eisen.

Dit is incorrect. Er gebeurt meer onder de motorkap. Over het algemeen onderhoudt Windows een achtergrondwinkel, wat betekent dat het alles wat zich in het geheugen bevindt ook ergens op de schijf wil zien. Als er nu iets gebeurt dat veel geheugen vereist, kan Windows het RAM heel snel wissen, omdat die gegevens dat zijn nu al op schijf, klaar om opnieuw in het RAM-geheugen te worden geladen als dit nodig is. Dus het kan gezegd worden dat veel van wat er in pagefile zit ook in RAM; de gegevens waren preventief in wisselbestand geplaatst om te versnellen nieuwe vereisten voor toewijzing van geheugen.

Het beschrijven van de betrokken specifieke mechanismen zou vele pagina's kosten (zie hoofdstuk 7 van Windows Internals, en merk op dat a nieuwe editie zal binnenkort beschikbaar zijn), maar er zijn een paar leuke dingen om op te merken. Ten eerste is veel van wat zich in RAM bevindt intrinsiek al op de schijf - programmacode opgehaald uit een uitvoerbaar bestand of een DLL bijvoorbeeld. Dit hoeft dus niet naar het paginabestand te worden geschreven; Windows kan eenvoudig bijhouden waar de bits oorspronkelijk vandaan zijn gehaald. Ten tweede houdt Windows bij welke gegevens in het RAM het meest worden gebruikt, en dus worden RAM-geheugengegevens gewist die het langst zijn gebruikt zonder dat er toegang tot is.

Het verwijderen van het paginabestand kan meer schijfsplijten veroorzaken. Stel je een eenvoudig scenario voor waarbij een app lanceert en 80% van de bestaande RAM vereist. Dit zou huidige uitvoerbare code uit het RAM-geheugen dwingen - mogelijk zelfs OS-code. Nu elke keer dat die andere apps - of het besturingssysteem zelf (!!) toegang tot die gegevens nodig hebben, moet het besturingssysteem ze op de back-up van de winkel op de harde schijf opslaan, wat tot veel gesel leidt. Omdat zonder pagefile als back-up voor transiënte gegevens moet worden opgeslagen, zijn de enige dingen die kunnen worden opgeroepen uitvoerbare bestanden en DLL's die om te beginnen inherente achtergrondopslag hadden.

Er zijn natuurlijk veel scenario's voor het gebruik van hulpbronnen / gebruik. Het is niet onmogelijk dat je een van de scenario's hebt waaronder er geen negatieve effecten zouden zijn door het verwijderen van het wisselbestand, maar dit zijn de minderheden. In de meeste gevallen zal het verwijderen of verkleinen van het paginabestand leiden tot verminderde prestaties onder scenario's met piekresourcesbenutting.

Enkele referenties:

dmo opgemerkt een recent Eric Lippert bericht wat helpt bij het begrijpen van virtueel geheugen (hoewel minder gerelateerd aan de vraag). Ik zet het hier omdat ik vermoed dat sommige mensen niet naar andere antwoorden zullen scrollen - maar als je het waardevol vindt, ben je het verschuldigd DMO een stem, dus gebruik de link om daar te komen!


301
2018-06-10 21:15



Voor Jeff en Joel: het rijmt met "eenden" - quux
Op Solaris was / is het nog meer betrokken. Het swap-bestand wordt gespiegeld in een ramschijf zoals tmpf's, dus het geheugen is altijd bijna vol - maar het is blijkbaar te bewijzen dat dit de optimale strategie is. - Martin Beckett
Ik heb lang geloofd dat, in plaats van Windows de bestandsgrootte van mijn pagina te laten beheren, ik het zou moeten instellen op een vaste hoeveelheid (bijvoorbeeld min. 2 GB, max. 2 GB), omdat het laten groeien en krimpen fragmentatieproblemen kan veroorzaken. Is dat een goed idee, of moet ik je eerste regel volgen en Windows alles laten regelen? - John Fouhy
@Mehrdad: Omdat je niet 50% van je RAM vrij wilt houden. Natuurlijk zou je dat kunnen doen, maar je zou 50% verliezen van het fysieke RAM dat je zou kunnen gebruiken als een schijfcache voor actieve gegevens. Gratis RAM is een teken van inefficiëntie, het is net als FedEx-trucks in een depot in plaats van op de weg. Het betekent dat je dat bent nietzo veel mogelijk vracht vervoeren omdat u te veel tijd besteedt aan laden en lossen. - David Schwartz
@Mehrdad: het probleem is, dat er geen paginabestand is, maar dat zijn veel gegevens moet worden bewaard in het RAM-geheugen, hoewel het waarschijnlijk nooit zal worden geopend. Denk bijvoorbeeld aan elk geheugen dat wordt toegewezen door een proces dat is gestart bij het opstarten van het systeem, maar dat een service biedt die dagenlang niet wordt gebruikt. Het systeem kan niet bewijzen dat de gegevens niet toegankelijk zijn en het heeft geen andere plaats dan RAM om het te behouden. Dus de disk-cache krimpt terwijl gegevens in het RAM-geheugen worden bewaard en dagenlang niet zijn gebruikt. - David Schwartz


Eric Lippert schreef onlangs een blog entry beschrijft hoe Windows het geheugen beheert. Kortom, het Windows-geheugenmodel kan worden beschouwd als een schijfopslag waarbij RAM fungeert als een prestatiebevorderende cache.


80
2018-06-24 19:47





Zoals ik aan de hand van andere antwoorden zie, ben ik de enige die het paginabestand uitschakelde en er nooit spijt van had. Super goed :-)

Zowel thuis als op het werk heb ik Vista 64-bits met 8 GB RAM. Beide hebben een paginabestand uitgeschakeld. Op het werk is het voor mij niet onbegrijpelijk om weinig exemplaren van Visual Studio 2008, Virtual PC met Windows XP, 2 exemplaren van SQL Server en Internet Explorer 8 te hebben met veel tabbladen die samenwerken. Ik bereik zelden 80% van het geheugen.

Ik gebruik ook elke dag een hybride slaap (winterslaap met slaap) zonder problemen.

Ik begon ermee te experimenteren toen ik Windows XP had met 2 GB RAM en ik zag echt het verschil. Klassiek voorbeeld was toen de pictogrammen in het Configuratiescherm niet meer één na één, maar allemaal tegelijk werden weergegeven. Ook de opstarttijd van Firefox / Thunderbird is dramatisch toegenomen. Alles begon meteen te werken nadat ik op iets had geklikt. Helaas was 2 GB te klein voor mijn toepassingsgebruik (Visual Studio 2008, Virtual PC en SQL Server), dus heb ik het weer ingeschakeld.

Maar nu met 8 GB wil ik nooit meer teruggaan en het paginabestand inschakelen.

Voor degenen die het over extreme gevallen zeggen, neem deze van mijn Windows XP-tijden.
Wanneer u een grote draaitabel in Excel vanuit een SQL-query probeert te laden, vergroot Excel 2000 het geheugengebruik behoorlijk snel.
Wanneer u een paginabestand hebt uitgeschakeld - wacht u een beetje en dan springt Excel op en zal het systeem alle geheugen erna wissen.
Wanneer u het paginabestand heeft ingeschakeld, wacht u enige tijd en wanneer u zult merken dat er iets mis is, kunt u bijna niets doen met uw systeem. Je harde schijf werkt als een blok en zelfs als je het op de een of andere manier lukt om Task Manager (na een paar minuten wachten) uit te voeren en te doden excel.exe u moet een minuut of zo wachten totdat het systeem alles weer uit het paginabestand heeft geladen.
Zoals ik later zag, handelt Excel 2003 zonder probleem om met dezelfde draaitabel als het paginabestand is uitgeschakeld - dus het was geen "te groot gegevenssetprobleem".

Dus naar mijn mening beschermt een uitgeschakeld paginabestand je zelfs soms tegen slecht geschreven applicaties.

Binnenkort: als u op de hoogte bent van uw geheugengebruik - kunt u het veilig uitschakelen.

Bewerk: Ik wil alleen toevoegen dat ik Windows Vista SP2 zonder problemen heb geïnstalleerd.


47
2018-06-28 21:10



Ik heb mijn wisselbestand uitgeschakeld en had er spijt van op het moment dat ik mijn geheugen echt gebruikte. Wees dus blij dat je meer geheugen hebt dan je nodig hebt. - Sam
+1, "ik ook" :-). Hetzelfde verhaal - 8 GB geheugen, Vista x64, met Visual Studio met ReSharper + SQL Server Express + IIS + 1-2 virtuele machines (elk met 1500 MB geheugen) + een heleboel hulpprogramma's - nooit een probleem gehad. - Milan Gardian
Ik vind het geweldig hoe iedereen zegt "Microsoft heeft vele uren over dit probleem nagedacht, dus maak er geen rommeltje van", maar negeer de echte wereldervaringen volledig. Ik heb het wisselbestand sinds XP uitgeschakeld en heb er nooit spijt van gehad. Het is alsof de computer een geweldige injectie heeft gekregen. - AngryHacker
Het is vrij standaard om paging uit te schakelen op servers die iSCSI opstart, waarbij paging via de SAN merkbaar traag zou zijn. Je hoeft alleen maar je geheugengebruik in de gaten te houden en weg te blijven van de max. - Chris S
-1 Ik zie geen verwijzingen in dit antwoord. Ik had eigenlijk mijn systeemcrash omdat het paginabestand was uitgeschakeld en mijn Paged Pool-geheugen vol was. Toch was mijn fysieke geheugengebruik slechts 2 GB ... - Tom Wijsman


Misschien wilt u wat metingen doen om te begrijpen hoe uw eigen systeem geheugen gebruikt voordat u wisselbestand aanpast. Of (als u nog steeds wijzigingen wilt aanbrengen), daarvoor en daarna zei aanpassingen.

Perfmon is de tool hiervoor; niet Taakbeheer. Een sleutelteller is Geheugen - pagina's Invoer / sec. Dit zal specifiek een grafiek zijn hard pagina fouten, die waarbij een read from disk nodig is voordat een proces kan doorgaan. Zacht paginafouten (dit zijn de meeste items die in de standaard zijn getekend) Pagina fouten / sec teller; Ik raad aan om die teller te negeren!) Zijn niet echt een probleem; ze laten gewoon items zien die normaal uit het RAM worden gelezen.

Perfmon-grafiek http://g.imagehost.org/0383/perfmon-paging.png

Hierboven ziet u een voorbeeld van een systeem zonder zorgen, geheugengewijs. Heel af en toe is er een piek van harde fouten - deze kunnen niet worden vermeden, omdat harde schijven altijd groter zijn dan RAM. Maar de grafiek is grotendeels vlak op nul. Dus het besturingssysteem paging-in van back-upwinkel zeer zelden.

Als je een ziet Geheugen - pagina's Invoer / sec grafiek die veel spikier is dan deze, is de juiste reactie om ofwel het geheugengebruik te verminderen (minder programma's uitvoeren) of RAM toe te voegen. Het veranderen van je pagefile-instellingen zou niet veranderen dat er meer geheugen van het systeem wordt geëist dan dat het daadwerkelijk heeft.

Een handige extra teller om te monitoren is PhysicalDisk - Gem. Wachtrijlengte (alle instanties). Dit laat zien hoeveel uw wijzigingen van invloed zijn op het schijfgebruik zelf. Een goed opgevoede systeem zal dit tegenmiddel van 4 of minder laten zien per spil.


34
2018-06-10 21:52



snik iemand doet zelfs zijn uiterste best om te demonstreren hoe het wisselbestand moet worden geïnspecteerd. geweldig. - cgp
Dode link naar foto. Moet worden opgelost. - kinokijuf
Ja, "ImageHost.org is gesloten" - Peter Mortensen


Ik heb mijn 8 GB Vista x64-box zonder een paginabestand jarenlang zonder problemen uitgevoerd.

Er ontstonden problemen toen ik mijn geheugen echt gebruikte!

Drie weken geleden ben ik begonnen met het bewerken van echt grote afbeeldingsbestanden (~ 2 GB) in Photoshop. Eén bewerkingssessie heeft mijn hele geheugen opgebruikt. Probleem: Ik kon mijn werk niet opslaan omdat Photoshop meer geheugen nodig heeft om het bestand op te slaan!

En aangezien het Photoshop zelf was, wat al het geheugen opslokte, kon ik zelfs het geheugen niet vrijmaken door programma's te sluiten (nou ja, dat deed ik, maar het was te weinig om van hulp te zijn).

Ik kon alleen maar mijn werk schrappen, mijn paginabestand inschakelen en al mijn werk opnieuw uitvoeren - ik ben hierdoor veel werk kwijtgeraakt en kan het verwijderen van je paginabestand niet aanbevelen.

Ja, het zal meestal geweldig werken. Maar het moment dat het breekt, kan pijnlijk zijn.


34
2017-07-22 09:43



u zou vaker moeten besparen: D om de schade te minimaliseren - alexandrul
makkelijk om te zeggen, als het opslaan duurt enkele minuten, dit is een pita. - Sam
We zijn allemaal erg blij als je complexere software gebruikt, maar soms eindigt een "crash" in overeenstemming met "Oh rotzooi, ik heb het al een tijdje niet bewaard". - Damon


Hoewel de antwoorden hier vrij goed over het onderwerp gingen, raad ik u toch aan dit te lezen:

http://blogs.technet.com/markrussinovich/archive/2008/11/17/3155406.aspx

Hij praat bijna over het einde over PF:

Sommigen menen dat het hebben van geen wisselbestand resulteert in betere prestaties, maar in het algemeen betekent het hebben van een wisselbestand dat Windows pagina's op de gewijzigde lijst kan schrijven (die pagina's vertegenwoordigen die niet actief worden gebruikt maar niet op schijf zijn opgeslagen) naar de wisselbestand, waardoor dat geheugen beschikbaar is voor meer nuttige doeleinden (processen of bestandscache). Dus hoewel er enkele workloads kunnen zijn die beter presteren zonder wisselbestand, zal in het algemeen één ervan betekenen dat er meer bruikbaar geheugen beschikbaar is voor het systeem (laat staan ​​dat Windows geen kerneldood dumps kan schrijven zonder een wisselbestand groot genoeg om ze vast te houden).

Ik hou echt van Mark's artikelen.


19
2018-06-29 00:42



+1, eenvoudig voor de link Mark Russinovich. Het is de moeite waard om erop te wijzen dat win7 zelfs een melding opent om te wijzen dat je niet in staat zult zijn om "systeemproblemen op te sporen" als je het wisselbestand uitschakelt. - cgp


Het beste antwoord dat ik kan bedenken is dat je bij een normale belasting de 8 GB misschien niet gebruikt, maar het zijn de onverwachte dingen waar je problemen tegenkomt.

Met een paginabestand zal het systeem op zijn minst langzaam draaien zodra het de pagina raakt. Maar als je het paginabestand verwijdert, gaat het gewoon dood (van wat ik weet).

Ook lijkt 8 GB nu veel, maar een paar jaar later kan het als de minimale hoeveelheid geheugen voor veel software worden beschouwd.

Hoe dan ook - ik zou aanraden tenminste een bestand van een kleine pagina te bewaren; maar anderen corrigeer me alsjeblieft als ik off-base ben.


13
2018-06-10 19:56



Ik zou een beetje verder gaan en niet cap het paginabestand. Dat is niet echt het verbeteren van dingen. Laat ramen het doen ... ze weten beter. - Michael Haren
Gewoon geprobeerd om Media Player Classic te gebruiken om een ​​6 GB mkv-bestand te laden. Het heeft me uit mijn RAM- en paginabestandsgeheugen gehaald. Ging vrij snel terug naar VLC. +1 voor de "je weet maar nooit wat je zult tegenkomen". Uiteindelijk crashte MPC en mijn RAM werd hersteld, maar wat als je een DLL in software van derden met een geheugenlek krijgt? Je hebt veel meer kilometers als je een schijf met geheugen hebt om je te helpen. - mpbloch
Plus het punt, wat heeft het voor zin om 8GB te hebben als je constant bang moet zijn om het te gebruiken ?! - David Schwartz
Het "op zijn minst een klein pagina-bestand bewaren" lijkt me een beetje raar, omdat het niet duidelijk is hoe Windows het gaat gebruiken. Het kan het bijvoorbeeld nog harder kloppen dan een groter paginabestand dat meer ruimte biedt - ik vermoed het, maar zolang er geen betrouwbare bron over is zou ik het kleine wisselbestandadvies mogelijk schadelijk vinden en in plaats daarvan een standaardpraktijk aanbevelen. - mafu


Je hebt niet gezegd of het een 64-bits editie van Windows is, maar ik denk het wel.

Het paginabestand dient veel dingen, waaronder het genereren van een geheugendump in het geval van BSoD (Blauwe scherm van dood).

Als u geen pagefile hebt, kan Windows niet naar de pagina gaan als er niet genoeg geheugen is. Je denkt misschien dat je met 8 GB die limiet niet haalt. Maar u hebt misschien slechte programma's die het geheugen na verloop van tijd lekken.

Ik denk dat het je niet in de slaapstand / standby laat gaan zonder een wisselbestand (maar ik heb het nog niet geprobeerd).

Windows 7/2008 / Vista verandert het gebruik van het paginabestand niet.

Ik zag een uitleg van Mark Russinovich (Microsoft Fellow) waarin werd uitgelegd dat Windows langzamer kan zijn zonder paginabestand dan met een paginabestand (zelfs met veel RAM). Maar ik kan de oorzaak niet vinden.

Heb je geen schijfruimte meer? Ik zou minimaal 1 GB moeten houden om een ​​kerneldump te kunnen hebben in het geval van een BSoD.


6
2018-06-10 19:59



Bedoel je dit? blogs.technet.com/markrussinovich/archive/2008/11/17/...  Als dat zo is, is zijn advies zwak. Hij zegt dat het paginabestand de prestaties zal verhogen, omdat als dat meer ram zou geven aan andere apps. Klopt, als je niet veel ram hebt. Maar als u meer dan genoeg hebt, is het paginabestand nooit sneller. - Pyrolistical
het was in een sysinternal video met Salomon. Het had iets te maken met de kernelpaginapool - Mathieu Chateau
Je kunt geen "antwoord" plaatsen als je geen idee hebt: ik heb een Windows Vista 32-bit laptop met 4GB RAM en ik zet hem altijd op standby. Kun je jezelf op zijn minst beperken tot het leveren van antwoorden op vragen waarvan je echt op de hoogte bent? - PP.
Wat PP probeerde te zeggen: het winterslaapproces maakt gebruik van een afzonderlijk bestand van het wisselbestand, dus dit is in dit geval geen probleem. - mafu
Pyrolistisch, het is waarschijnlijk veel te laat voor je om dit te zien, maar draai je uitspraak om en noem het als een vraag: Wanneer vertraagt ​​pagefile iets? Een goed antwoord daarop zou uw theorie bewijzen. - quux