Processo di Windows 7 che modifica la configurazione della dimensione del file di paging?


7

Sto lavorando per eseguire il debug di un problema in cui il mio PC si blocca in modo casuale dopo essere stato inattivo. A un certo punto avevo disabilitato il mio file di paging, ma ho notato che non stavo ottenendo crash dump per questo motivo. Sto eseguendo un SSD, quindi non volevo che tutti i 32 GB di RAM fossero trasformati in un file di paging, quindi ho configurato il mio sistema come tale:

inserisci qui la descrizione dell'immagine

Tuttavia, dopo il riavvio, vedo un pagefile.sys di grandi dimensioni e quando torno all'opzione di configurazione della memoria virtuale, viene impostato su "Gestisci automaticamente le dimensioni del file di paging per tutte le unità"

inserisci qui la descrizione dell'immagine

Devo ancora capire il problema del crash, quindi non sono sicuro che sia correlato. Tuttavia, penso sia strano che Windows configura il file di paging come vuole senza chiedermelo. Inoltre non vedo alcun dump di memoria o registro degli arresti anomali (solo l'evento di alimentazione quando uccido manualmente l'alimentazione), sembra che possa essere correlato.

Windows 7 64 bit (Microsoft Windows [Versione 6.1.7601])


Informazioni di aggiornamento che potrebbero essere utili:

  • Questo non sembra essere correlato al crash, l'ho risolto alcuni mesi fa con un aggiornamento del firmware del BIOS.
  • Sto usando ASROCK Extreme Tuning Utility e la funzione XFast RAM . Per tutto questo tempo l'opzione per la memorizzazione del file di paging nel disco ram (non sono sicuro del motivo per cui esiste), ma in questa configurazione ho il file di paging della memoria disattivato. Windows dovrebbe comunque avere il controllo del file di paging e di tutte le impostazioni. Non riesco a pensare ad altri programmi che potrebbero influire su questo.

Penso che questo possa essere correlato perché è un po 'l'opposto: answer.microsoft.com/en-us/windows/forum/windows_7-performance/… ; tuttavia, non vedo alcun servizio denominato afssul mio sistema - ogni volta che provo a fare qualcosa con un servizio chiamato afsottengo un errore del tipo "Il servizio specificato non esiste come servizio installato".
Eric G,

Risposte:


2

Windows potrebbe non aver eliminato il vecchio pagefile.sys. Prova a :

  • impostato su "Nessun file di paging"
  • riavvio
  • elimina C: \ pagefile.sys (potrebbe essere necessario gestire i file nascosti e le autorizzazioni)
  • ripristina su "Dimensioni personalizzate"
  • riavvio

Se l'impostazione per il file di paging viene ripristinata da un programma, è possibile provare a utilizzare Process Monitor per eseguire la registrazione del tempo di avvio di tutte le modifiche del Registro di sistema al fine di identificare il programma che lo modifica. Ricorda solo che questo rallenta molto il processo di avvio.

Le impostazioni del file di paging si trovano nel registro all'indirizzo HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\. Il valore potrebbe essere PagingFiles, ma puoi facilmente verificare quale modificando le impostazioni della memoria virtuale tra Sistema gestito e Personalizzato e aggiornando il display in regedit per vedere cosa è cambiato.

Con queste informazioni è possibile impostare un filtro in Process Monitor e identificare il processo che modifica tale valore nel registro.


Il file di paging viene utilizzato principalmente per lo scambio di programmi quando la RAM è piena. Il suo utilizzo per il dump è solo secondario: un posto comodo per Windows per mettere i dati sugli arresti anomali. Le sue dimensioni quindi dovrebbero essere almeno grandi quanto la tua RAM. È necessario verificare se Windows non alloca un file più grande quando l'allocazione specificata è troppo piccola, il che mi sembra una ragionevole protezione integrata da utilizzare per Windows.

Nota: se si dispone di un'altra unità oltre all'unità SSD, è possibile spostare lì il file di paging in modo da non ridurlo troppo.

Un'altra osservazione: gli SSD moderni sono classificati per molti gigabyte al giorno fino a un decennio, quindi non dovresti avere paura di 32 MB che riducono la durata del tuo disco. La longevità dell'SSD non è più un problema a meno che l'SSD non sia vecchio o di bassa qualità.

Ad esempio, un test di AnandTech ha prodotto i seguenti risultati :

Immagine

Se ad esempio l'uso quotidiano è scritto solo 5 GB, la durata di vita sopra dovrebbe essere moltiplicata per un fattore due. Un SSD moderno dovrebbe durare per tutta la vita del computer.


Non penso che in realtà usi mai il file di paging, è davvero solo uno spreco di spazio. Poiché sto usando TrueCrypt, penso di voler evitare strane complicazioni che potrebbero derivare dal file di paging su un'altra unità. Voglio solo che mi consenta di mantenerlo piccolo.
Eric G,

1
Vedere questa risposta su un modo per eliminare hiberfil.sys e utilizzarlo per pagefile.sys quando è impostato su "Nessun file di paging", dopo il riavvio in modalità provvisoria. Fammi sapere se questo non funziona. Altrimenti, se hai crittografato l'unità di sistema con Truecrypt, l'avvio di un CD Linux per eliminarlo non funzionerà, quindi potresti semplicemente provare a riposizionarlo su un altro disco - non ci dovrebbero essere complicazioni con l'avvio - e verificare che è davvero passato da C (puoi quindi riposizionarlo indietro ma più piccolo). Ma Windows potrebbe non essere d'accordo a allocare troppo piccolo.
harrymc,

Inoltre, ho aggiunto un paragrafo nella mia risposta sulla dimensione del file di paging.
harrymc,

1
Hai frainteso: sostituisci pagefile.sys ovunque hiberfil.sys sia menzionato nel link. E sicuramente avrai un problema con i diritti di accesso quando provi a eliminare pagefile.sys - non pensi che Windows consentirà a chiunque di eliminare questo file cruciale? Inoltre, i tuoi sforzi con Jon Hoffman non fanno che rafforzare la mia convinzione che Windows non ti consentirà di creare un pagefile.sys troppo piccolo, quindi trasferirlo potrebbe essere l'opzione migliore.
harrymc,

1
Prova ad avviare in modalità provvisoria dopo averlo impostato su "Nessun file di paging". Se il file è ancora in uso, Process Explorer ti aiuterà a trovare quale processo.
harrymc,

1

Per utilizzare i dump della memoria completa in Windows, il file di paging deve avere le stesse dimensioni della RAM totale o superiore. Nel tuo caso, ciò significa che deve essere almeno 32 GB.

Tuttavia, è possibile utilizzare "minidump" che sono significativamente più piccoli.

Prova questo:

  1. Modificare le impostazioni del file di paging su "nessun file di paging" e riavviare in modo che Windows elimini pagefile.sys.

    Nota: ricontrollare che pagefile.sys sia stato effettivamente eliminato dopo il riavvio. Per fare ciò, utilizzare Esplora risorse di Windows per sfogliare l'unità di sistema (in genere C :) e cercare pagefile.sys. Probabilmente dovrai andare a Tools > Folder Options > View > 'Show hidden files, folders, and drives' > Applyfarlo apparire (se è lì). Se pagefile.sys è ancora lì, eliminalo.

  2. Utilizzare le istruzioni in fondo a questa pagina per abilitare piccoli dump di memoria: Link

  3. Imposta la dimensione iniziale e massima del file di paging per l'unità di sistema (di solito C :) sulla dimensione "minima consentita" elencata nella parte inferiore della finestra delle impostazioni della memoria virtuale (la tua prima schermata non mostra il fondo, ma questa è la finestra Mi riferisco a). Dovrebbe essere piuttosto piccolo; il mio è ad esempio 16 MB.

  4. Salvare le nuove impostazioni della memoria virtuale e riavviare.


1
Ahem ... Non è già nella mia risposta?
harrymc,

@harrymc sembra simile. Sfortunatamente, questo non si è verificato su entrambi i fronti. Ogni volta che riavvio Windows, anche tramite safemode, non riesco a eliminare pagefile.sys. Torno indietro nelle impostazioni del mio file di paging e verrà quindi selezionato "Gestisci automaticamente le dimensioni del file di paging per tutte le unità". In safemode, questa opzione era deselezionata, ma era ancora presente il pulsante di opzione "Dimensione gestita dal sistema". Dopo il primo riavvio, il file di paging si era ridotto a circa 3 GB, ma non era ancora possibile eliminarlo ed era di nuovo a 32 dopo il successivo avvio.
Eric G,

@harrymc L'unica somiglianza che vedo è che parte del mio processo prevede l'eliminazione del file di paging. Anche se ho incluso anche il modo comunemente noto per eliminare il file di paging, questa non era l'informazione principale nella mia risposta. Hai letto tutto? Il punto era abilitare i minidump per vedere se ciò consentiva la riduzione del file di paging.
Jaawn,

@EricG pagefile.sys rimane anche quando si seleziona "nessun file di paging" e si riavvia?
Jaawn,

@JonHoffman sì. Ho provato varie opzioni sia in modalità normale che in modalità sicura, non scompare mai al riavvio o dopo aver modificato le impostazioni, né mi consente di eliminarlo.
Eric G,

0

Hai verificato che ReadyBoost sia disattivato?

Sebbene Windows non dovrebbe utilizzare l'unità di sistema (C :) per ReadyBoost, se è attivata, Windows utilizzerà l'intero spazio disponibile sull'unità per un file di paging.

Questa potrebbe non essere la risposta ma vale la pena verificarla.

http://windows.microsoft.com/en-gb/windows7/turn-readyboost-on-or-off-for-a-storage-device


Non ci sono setup di unità per un pronto boost sul mio sistema.
Eric G,

ReadyBoost non utilizza l'unità di sistema, non utilizza mai alcuna "intera unità disponibile" e lo spazio che utilizza non viene utilizzato per un file di paging.
Jamie Hanrahan,

0

Controlla questo link

Ottimizzazione della configurazione della memoria

Ho trovato un 'Controlset001' e 'Controlset002' con impostazioni diverse in ciascuno, causando un conflitto. Dopo aver eliminato Controlset002 e rimosso 001 lasciando 'ControlSet' - nessun ulteriore problema. Ma ero solo io. Prenditi il ​​tempo per ricontrollare questo, e assicurati di avere un backup su cui ripristinare, nel caso in cui le cose vadano male.


1
Viene utilizzato solo un ControlSet (CurrentControlSet), quindi non può mai esserci un conflitto.
harrymc,
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.