Windows Swap (file di paging): abilitare o disabilitare?


28

Dalla mia esperienza personale ho notato che la disabilitazione del file di paging in Windows XP mi ha dato, in generale, il maggior guadagno di velocità rispetto a qualsiasi altra modifica del software che posso fare. Ovviamente questo deve essere fatto quando è disponibile una quantità significativa di RAM. In genere trovo che funzioni bene con + 2 GB di RAM. L'unico problema che abbia mai avuto è stato il caricamento di Adobe Photoshop.

È davvero un miglioramento della velocità o lo sto immaginando?

Nota: per disattivarlo, non è necessario impostarlo su 0 MB, ma disabilitarlo. Altrimenti Windows lo espanderà quando è necessario per soddisfare le sue esigenze.


9
Attenzione: ai driver viene fornita solo una quantità limitata di memoria, denominata sezioni memoria memoria non-pagede pagedpool . Un file di paging è necessario quando la sezione di paging si riempie, da giocatore ho visto un gioco lamentarsi della memoria del pool di paging solo perché il mio file di paging era disabilitato su un sistema da 8 GB. Conclusione: i file di paging sono necessari, impediscono l'esaurimento del pool di paging e velocizzano il sistema.
Tamara Wijsman,

Risposte:


18

Windows XP scarica le applicazioni minimizzate su disco come un matto .. provalo tu stesso, inizia a scaricare un grande torrent e minimizza tutto. Presto quasi tutta la RAM viene utilizzata come cache dei file per il torrent anziché per le altre applicazioni. La disabilitazione del file di paging impedirà questo comportamento.

In Windows Vista e Windows 7, tuttavia, il sistema gestisce questo scenario molto, molto meglio .. quindi non sono sicuro che disabilitare il file di paging in queste versioni farà molta differenza.

Alcuni giochi richiedono di avere un file di paging anche quando non è realmente necessario, l'ho notato di recente quando ho provato a giocare una demo del gioco che ho scaricato da Steam. Anche se ho avuto 6 GB di RAM disponibile il gioco ha rifiutato di iniziare fino a quando ho creato un piccolo, piccolo file di paging .. sigh

Personalmente, quando ho molta RAM, preferisco andare senza un file di paging.


Vado senza un file di paging su WinXP da quando ho fatto questa domanda ed è stato grandioso. Non l'ho ancora provato su Win7, quindi non posso dire se ne varrebbe la pena per le versioni più recenti di Windows.
Joe Phillips,

L'ho provato su Win7 e non ho avuto un'ottima esperienza. Poiché gli SSD non sono disponibili, ha senso avere solo un file di paging
Joe Phillips,

Avere un file di paging o meno non ha nulla a che fare direttamente con il comportamento della cache dei file.
Jamie Hanrahan,

25

Non scherzare, lascia che Windows si capisca da solo.

Questa risposta ServerFault è la spiegazione più eccellente del perché:

Molte persone sembrano supporre che Windows inserisca i dati nel file di paging su richiesta. Ad esempio: qualcosa richiede molta memoria e non c'è abbastanza RAM per soddisfare l'esigenza, quindi Windows inizia follemente a scrivere dati dalla RAM sul disco all'ultimo minuto, in modo che possa liberare la RAM per le nuove esigenze.

Questo non è corretto

La battuta finale:

La rimozione completa del file di paging può causare un maggiore blocco del disco.


12
In che modo la rimozione del file di paging causerebbe QUALSIASI blocco del disco? Semmai dovrebbe smettere di battere. Windows genererà un errore se si esaurisce la RAM: non deciderà di utilizzare lo scambio se è stato disabilitato.
Joe Phillips,

2
d03boy, leggi il post di SF. Se devi spostare la memoria di processo attiva da ram, causerà MOLTA più attività sul disco.
Factor Mystic,

3
@ d03boy: la risposta è nel post collegato. Fondamentalmente, se si utilizza troppa RAM, l'HD verrà utilizzato in qualche modo. Se si rimuove il file di paging, l'HD viene comunque utilizzato per memorizzare potenzialmente il codice del programma (leggendolo semplicemente dai file originali su richiesta) quando è necessario allocare più RAM.
Sean,

1
@Fattore, Windows ti dà semplicemente un errore se utilizza troppa RAM fisica. Non trasferirà nulla dalla RAM AFAIK @Darth, il post collegato fa sembrare che lo stia facendo indipendentemente dal fatto che il paging sia attivo o meno
Joe Phillips,

2
Questo non è vero per Windows XP, tuttavia Windows XP ha un'orribile gestione della memoria. Leggi la mia risposta
zidar,

7

da microsoft rispondi "disabilita il file di scambio"

http://social.answers.microsoft.com/Forums/en-US/w7performance/thread/0bd8a75c-2607-4468-8342-c35ea82ea670

Ken Blake, Microsoft MVP

c'è qualche vantaggio in termini di prestazioni da questo? Grazie.

Puoi? Sì. Dovresti? No, sicuramente no.

C'è qualche vantaggio prestazionale nel farlo? No, e c'è una possibile perdita di prestazioni.

Prima di tutto, 2 GB non sono un sacco di RAM, è la quantità minima che la maggior parte delle persone dovrebbe avere.

Secondo, se non hai un file di paging, non puoi usare tutta la RAM che hai. Questo perché Windows predispone la memoria virtuale in previsione di una possibile necessità, anche se quella allocata non viene mai utilizzata. Senza un file di paging, tale allocazione deve essere effettuata nella memoria reale, legando così quella memoria e impedendone l'utilizzo per qualsiasi scopo.

Terzo, non c'è mai un vantaggio nel non avere un file di paging. Se non è necessario, non verrà utilizzato. Non confondere la memoria allocata con la memoria utilizzata.

Ken Blake, Microsoft MVP (Windows Desktop Experience) dal 2003 Ken Blake


Che dire del thrashing? C'è meno utilizzo dell'HD se è disabilitato? Questa non sembra l'intera risposta. Per non parlare, questa domanda riguarda XP e questa risposta riguarda Win7
Joe Phillips,

Non credo che MVP sia corretto, data la memoria sufficiente è possibile disabilitare il file di scambio; assicurati solo di non rimanere senza memoria.
Tamara Wijsman,

1
@JoePhilllips - No, in poche parole, se Memoria dati + Memoria programmi supera la memoria di sistema senza file di pagina, lo spazio disponibile per i programmi viene ridotto per fare spazio ai dati, poiché i programmi possono sempre essere recuperati dai file di programma originali. Quindi, se hai 8 GB di memoria, 6 GB di dati e 4 GB di applicazioni, il tuo sistema operativo ha solo 2 GB da condividere tra quei 4 GB di programmi. Sarebbe leggere costantemente nel codice e schiacciare il disco. Se in realtà fossero necessari solo 4 GB di dati e tu avessi un file di pagina da 2 GB in cui scambiare il resto, il sistema operativo sarebbe in grado di utilizzare gli altri 4 GB per i programmi, quindi nessun thrashing!
Mark Booth,

6

Direi abilitare .

Non importa quanta RAM hai, ci saranno scenari in cui almeno un file di pagina è utile. Inoltre, va notato che quando c'è un file di paging, gran parte del runtime di Windows viene scaricato lì per la maggior parte del tempo. La ragione? Sebbene sia necessario in memoria, al momento non è necessario . Inserirlo nel file di scambio può significare che ci vuole più tempo per accedervi, ma lascia più RAM libera per i programmi che stai effettivamente utilizzando.

Il motivo per cui le tue prestazioni sono aumentate è perché stavi forzando l'intero sistema ad essere caricato nella RAM, il che è certamente molto più veloce. Tuttavia, la mia ipotesi è che quando inizi a utilizzare un sacco di programmi contemporaneamente, in particolare quelli ricchi di memoria come Firefox e Photoshop, quel miglioramento andrà fuori dalla porta. *

Tuttavia, è possibile che non incontrerai mai quel problema semplicemente a causa delle tue abitudini informatiche. So che se provassi a disattivare il file di paging, non mi piacerebbe un po '. Quindi, se vuoi davvero, prova a lasciarlo spento per un po 'e vedi cosa succede, puoi sempre riaccenderlo più tardi.

* "Quel paragrafo era una buona dose di speculazioni" / disclaimer;)


Ho 4 GB di RAM ora da quando ho recentemente aggiornato (anche se winxp vede solo circa 3,5) e ho avuto il file di pagina spento per alcuni mesi senza problemi e solo uno o due riavvii. Uso programmi piuttosto pesanti (incluso Photoshop) senza problemi finora.
Joe Phillips,

In tal caso, sentiti libero di ignorare i miei consigli e fai quello che sembra giusto per te. Sebbene il post di Factor Mystic abbia un'argomentazione molto migliore per la stessa conclusione, quindi almeno tieni a mente ciò che sta dicendo;)
Sean,

Forse lo riaccenderò e vedrò se aiuta. Tuttavia, non riesco proprio a immaginare che scrivere costantemente per scambiare sia buono per il mio disco rigido.
Joe Phillips,

5

Direi abilita ma spostalo su una seconda unità, preferibilmente una non utilizzata da un altro maiale I / O. Ciò mi ha spesso dato una velocità migliore rispetto alla disabilitazione del file di paging. Ovviamente, maxing RAM è una buona ottimizzazione parallela.


1
Se lo fai, assicurati di spostare il file di paging su un altro dispositivo fisico. Spostarlo in un'altra partizione sullo stesso dispositivo è uno spreco di tempo, a meno che tu non abbia un disco rigido di livello industriale (come SCSI).
Paweł Polewicz,

3

Disattivo il file di scambio su sistemi Windows a 32 bit con 4 GB di memoria fisica. Avere la memoria virtuale attiva non aggiungerà più indirizzi al sistema e disattivarla significa che non devo mai aspettare che Windows si attivi o disattivi.


6
Quali test di temporizzazione hai eseguito e con quali tipi di carichi?
Michael Kohne,

2
Nessun dato pratico == aneddoto ancora soggettivo
romandas

4
Ovviamente è un aneddoto soggettivo - ho mai preteso diversamente? Non sono sicuro del motivo per cui le persone chiedono i dati di temporizzazione: non eseguo server su Windows (a meno che non sia necessario!), Eseguo il mio desktop personale e la mia macchina da gioco. E per una macchina del genere, la risposta soggettiva è tutto ciò che conta.
kquinn,

1
E non hai mai corso più di un processo come volta, suppongo? Anche su un sistema a 32 bit, è possibile allocare più di 4 GB di RAM fisica in qualsiasi momento. Puoi anche allocare più di 4 GB di RAM a un singolo processo utilizzando le API di memoria virtuale per rimappare le sezioni del tuo spazio degli indirizzi.
Eclipse,

1
Ehm, intendevi dire che è possibile allocare più di 4 GB di RAM virtuale? Quando tutta la RAM fisica è esaurita, inizierai a ricevere errori di paging dalla MMU, che causeranno lo scambio. Senza alcun file di paging, questo verrà scambiato con qualsiasi dato DLL / EXE scaricato. Con un file di paging, sarebbe quello che è stato scritto nel file di paging.
JBR Wilkinson,

3

Disattivo il file di scambio su sistemi Windows a 32 bit con 4 GB di memoria fisica. Avere la memoria virtuale attiva non aggiungerà più indirizzi al sistema e disattivarla significa che non devo mai aspettare che Windows si attivi o disattivi.

No. Lo spazio degli indirizzi è il seguente: ogni PROCESS ha il suo spazio degli indirizzi a 31 bit (inferiore a 2 GB) e il kernel ha il suo spazio degli indirizzi a 31 bit (sempre lo stesso, indipendentemente da quale processo possiede il thread corrente). Ciò fornisce un numero di 2 GB * di processi dello spazio degli indirizzi in modalità utente disponibile. Senza uno scambio, lo spazio in modalità utente è limitato alla dimensione della memoria fisica meno la dimensione della memoria del kernel (in genere circa 200 MB). Naturalmente, potrebbe esserci un limite artificiale alla quantità di memoria virtuale che il sistema può allocare, ma non sono un esperto delle politiche di licenza di Microsoft.

Inoltre, si noti che la disabilitazione dello scambio non significa necessariamente che non ci saranno errori di pagina con conseguente accesso al disco. Il file di scambio non è l'unico file a cui è mappata la memoria. Ogni file eseguibile (vale a dire .exe o .dll, ad eccezione dei driver in modalità kernel) ha il proprio backup del disco, ovvero il file exe. Naturalmente, le pagine che sono state modificate in memoria, come segmenti di dati scrivibili, IAT o persino segmenti di codice (nel caso di eseguibili compressi, ad esempio) necessitano di un back-back separato, ma la stragrande maggioranza di codice / dati statici / risorse non è necessario lo scambio e ... può essere rimosso dalla memoria quando il sistema ha poche risorse. Quando il processo necessita di un accesso a tali dati, si verificheranno errori di pagina e accesso al disco, indipendentemente dal fatto che lo swap sia abilitato o meno.


2

Sean Nyman in precedenza aveva detto "specialmente quelli che richiedono molta memoria come Firefox e Photoshop, che il miglioramento andrà proprio fuori dalla porta".

Volevo solo aggiungerlo in Firefox, se si digita about:confignella barra degli indirizzi per andare alle impostazioni avanzate in Firefox, è possibile aggiungere una nuova stringa browser.cache.disk.enablee impostare il valore booleano su falsee questo costringerà Firefox a memorizzare nella cache solo su RAM. Puoi anche aggiungere la stringa browser.cache.disk.capacitye specificare un valore per controllare la quantità di spazio in RAM che Firefox utilizzerà per la cache del browser. Spero che aiuti. Ho impostato il mio per memorizzare nella cache RAM e Firefox è sempre super veloce.

Ho anche un'unità SSD per l'unità di sistema in questo laptop, con un'unità rotante da 500 GB nel vano secondario per l'archiviazione e ho impostato le cartelle TMP, TEMP e File temporanei Internet per puntare all'unità rotante in Windows 7 Pro, insieme a spostare il mio pagefile.sys sul mio disco rotante su D: e il mio sistema funziona molto velocemente come un fulmine. Ho comunque 4 GB di RAM, quindi non penso che Windows 7 utilizzi molto il file di paging, ma qual è il danno nel lasciarlo acceso?


Non importa quanta memoria hai, a Windows piace usare il file di paging per qualche motivo
Joe Phillips

0

Disabilitare il file di scambio è forse il singolo miglioramento più drammatico che puoi usare per aumentare le prestazioni del tuo computer. Nello scenario tipico, la maggior parte dei laptop utilizza dischi rigidi magnetici fisici con parti mobili. Queste unità sono molto lente rispetto alla velocità della memoria del tuo computer. Quindi, se hai il ram per forzare Windows a rimanere "entro i suoi mezzi" e non scrivere mai sul disco, rallenterà solo quando dovrà colpire il disco per un file che non è già in memoria. Tutto in memoria funzionerà in modo significativamente più veloce. L'idea è di memorizzare nella cache l'intero sistema operativo in modo che legga o scriva su un disco fisico solo quando ha bisogno di qualcosa che non è già in memoria.

La lettura / scrittura della RAM avviene in nanosecondi contro millisecondi su dischi magnetici fisici.

Ora qualcosa da considerare è che ora ci sono nuove opzioni per i file di scambio che diventano pratiche. Se si utilizza un disco a stato solido o si ottiene Windows per inserire il file di scambio su una scheda SD, si verificheranno anche significativi aumenti delle prestazioni.

Solo i miei $ 0,02


3
Disabilitare lo scambio non significa che tutto rimanga in memoria. Significa che ciò che viene scaricato dalla memoria deve essere riletto dalla sua posizione originale sul disco quando è necessario. Ciò significa che il tuo sistema sarà più lento. Vedi il post SF che ho link nella mia risposta.
Factor Mystic,

3
Questo è esattamente il motivo per cui lo ottimizzi in modo che non debba mai colpire il disco. L'ho già fatto e funziona.
Axxmasterr,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.