Qual è lo scopo di "C: \ swapfile.sys" in Windows 8?


61

Su Windows 8 ci sono i seguenti due file in C: \

  1. pagefile.sys - nessuna sorpresa. È grande quanto ho configurato come la dimensione del mio file di pagina
  2. swapfile.sys - ha una dimensione di 256 MB

Qual è lo scopo di questo swapfile.sysfile aggiuntivo ?

Sto cercando una risposta autorevole su questo. Ci sono già abbastanza speculazioni su questo sul web.


3
Le risposte qui sembrano abbastanza autorevoli, nominando la sospensione / ripresa delle app Metro come un uso principale per swapfile.sys.
Indrek,

@Indrek sì. Speravo in qualche dettaglio in più. Perché due file? Le risposte esistenti sono piuttosto sottili nei dettagli.
usr

4
Windows 8, stranamente, supporta sia lo scambio che il paging allo stesso tempo. Il file di paging esegue il back-over della memoria fisica e contiene oggetti a cui non è stato effettuato l' accesso per un periodo di tempo molto lungo. Il file di scambio contiene le cose attivamente espulse dalla memoria perché non saranno accessibili per un po '. Il paging è più efficace su desktop ad alte prestazioni. Lo scambio è più efficace su tablet e telefoni a basse prestazioni. Se fosse utilizzato un file, verrebbe fortemente frammentato a causa del mix di pagine di dimensioni fisse piccole per il paging e blocchi di grandi dimensioni per lo scambio.
David Schwartz,

Devono essere presenti due file perché troppi programmi presuppongono che il file di paging verrà utilizzato SOLO per il paging, anziché per il paging plus .
surfasb,

Risposte:


5

Molti dei collegamenti dalle risposte pubblicate finiscono per collegarsi ad esso, ma http://blogs.technet.com/b/askperf/archive/2012/10/28/windows-8-windows-server-2012-the-new -swap-file.aspx

sembra essere una risposta più definitiva:

Potresti chiedere: "Perché abbiamo bisogno di un altro file di pagina virtuale?" Bene, con l'introduzione dell'app moderna, avevamo bisogno di un modo per gestire la loro memoria al di fuori del tradizionale metodo di memoria virtuale / file di paging. Con ciò, è nato il "% SystemDrive% \ swapfile.sys".

Windows 8 può scrivere in modo efficiente l'intero set di lavoro (privato) di un'app moderna sospesa su disco per guadagnare memoria aggiuntiva quando il sistema rileva la pressione. Questo processo è analogo al letargo di un'app specifica e quindi alla sua ripresa quando l'utente torna all'app. In questo caso, Windows 8 sfrutta il meccanismo di sospensione / ripresa delle app moderne per svuotare o popolare nuovamente il set di lavoro di un'app.


39

Da un membro dello staff Microsoft nei forum Technet .

Questo è un tipo speciale di file di paging utilizzato internamente dal sistema per rendere più efficienti determinati tipi di operazioni di paginazione. Non è correlato all'impostazione di dump automatico.

 

La sospensione / ripresa delle app in stile Metro è uno scenario, potrebbero essercene altri in futuro.


3

Anche se non sono esattamente sicuro di quale sia lo scopo, sembra che venga utilizzato per archiviare / memorizzare nella cache il contenuto attualmente in uso.

Se sei curioso di vedere cosa c'è dentro, puoi acquisire file bloccati come swapfile.sys o pagefile.sys da un sistema Windows in esecuzione utilizzando FGET(Forensic Get by HBGary).

Eseguire il comando seguente (come amministratore):

FGET -extract% systemdrive% \ swapfile.sys OUTPUT_PATH

Dopodiché puoi eseguire un'analisi delle stringhe usando Strings. All'interno di swapfile.sys sul mio sistema, tra le altre cose ho trovato:

il mio indirizzo e-mail, diverse e-mail e indirizzi e-mail, variabili di ambiente, contenuto parziale da pagine Web visitate, stringhe di tipo mimet, stringhe agente utente, file XML, URL, indirizzi IP, nomi utente, nomi di funzioni della libreria, preferenze dell'applicazione, stringhe di percorso, ecc.

Ho anche provato a intagliare il file per cercare formati di immagine comuni e ho trovato diversi file JPEG e PNG comprendenti icone delle applicazioni, risorse di pagine Web, diverse immagini di profilo, risorse di immagini da app Metro, ecc.


Se FGETnon funziona per te, prova a utilizzare ifinde icatda The Sleuth Kit . È possibile trovare il numero di voce MFT per swapfile.sys usando ifindcome segue:

ifind -n /swapfile.sys \\. \% systemdrive%

Una volta ottenuto il numero di inode, è possibile recuperare il file usando icatcome segue:

icat \\. \% systemdrive% INODE_NUMBER> OUTPUT_PATH

Per esempio:

C: \> ifind -n /swapfile.sys \\. \% Systemdrive%
1988

C: \> icat \\. \% Systemdrive% 1988>% systemdrive% \ swapfile.dmp

NOTA: è necessario eseguire entrambi i comandi da un prompt dei comandi con privilegi elevati (ovvero eseguire cmdcome amministratore)


lo strumento si arresta in modo
anomalo

@ magicandre1981 Devi eseguirlo come amministratore. Ho dimenticato di menzionarlo
Vinayak, il

L'ho già fatto.
magicandre1981,

@ magicandre1981 Quale versione di Windows stai utilizzando? Inoltre, se FGET non funziona per te, ci sono altri modi per recuperare il file di scambio da un sistema in esecuzione. Controlla il primo link nella mia risposta per alcune alternative.
Vinayak,

Uso l'originale Windows 8 (64 bit). Ricevo c0000417 (STATUS_INVALID_CRUNTIME_PARAMETER) come codice di errore
magicandre1981,
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.