Quel est le but de “C: \ swapfile.sys” dans Windows 8?

61

Sous Windows 8, les deux fichiers suivants se trouvent dans C: \

  1. pagefile.sys - pas de surprise. Il est aussi grand que j'ai configuré que ma taille de fichier page
  2. swapfile.sys - sa taille est de 256 Mo

Quel est le but de ce swapfile.sysfichier supplémentaire ?

Je cherche une réponse faisant autorité à ce sujet. Il y a déjà assez de spéculations à ce sujet sur le web.

usr
la source
3
Les réponses proposées ici semblent plutôt fiables, citant la suspension / reprise d'applications Metro comme l'une des principales utilisations de swapfile.sys.
Indrek
@ Indrek oui. J'espérais un peu plus de détails. Pourquoi deux fichiers? Les réponses existantes sont assez maigres sur les détails.
USR
4
Curieusement, Windows 8 prend en charge l’échange et la pagination en même temps. Le dos de pagefile mémoire physique et surchargés contient des objets qui n'ont pas été consultés dans une très longue période de temps. Le swapfile tient les choses éjectés activement de la mémoire parce qu'ils ne sont accessibles pendant un certain temps. La pagination est plus efficace sur les ordinateurs de bureau hautes performances. L'échange est plus efficace sur les tablettes et les téléphones peu performants. Si un fichier était utilisé, il serait très fragmenté en raison de la combinaison de petites pages de taille fixe pour la pagination et de gros morceaux pour la permutation.
David Schwartz
Il doit y avoir deux fichiers, car trop de programmes supposent que le fichier d'échange sera utilisé UNIQUEMENT pour la pagination, plutôt que la pagination plus .
surfasb

Réponses:

5

Plusieurs des liens des réponses postées finissent par être liés, mais http://blogs.technet.com/b/askperf/archive/2012/10/28/windows-8-windows-server-2012-the-new -swap-file.aspx

semble être une réponse plus définitive:

Vous vous demandez peut-être «Pourquoi avons-nous besoin d’un autre fichier de page virtuelle?». Avec l’introduction de l’application moderne, nous avions besoin d’un moyen de gérer leur mémoire en dehors de la méthode traditionnelle de mémoire virtuelle / fichier d’affichage. Avec cela, le «% SystemDrive% \ swapfile.sys» est né.

Windows 8 peut écrire efficacement l'ensemble du travail (privé) d'une application moderne suspendue sur un disque afin de gagner de la mémoire supplémentaire lorsque le système détecte une pression. Ce processus est analogue à l'hibernation d'une application spécifique, puis à sa reprise lorsque l'utilisateur revient à l'application. Dans ce cas, Windows 8 tire parti du mécanisme de suspension / reprise des applications modernes pour vider ou remplir à nouveau l'ensemble de travail d'une application.

Orangutech
la source
39

D'un membre du personnel Microsoft sur les forums Technet .

Il s'agit d'un type spécial de fichier d'échange utilisé en interne par le système pour rendre certains types d'opérations de pagination plus efficaces. Cela n'est pas lié au paramètre de vidage automatique.

 

Suspendre / Reprendre des applications de style Metro est un scénario, il pourrait y en avoir d'autres à l'avenir.

Karthik T
la source
3

Bien que je ne sois pas tout à fait certain de son objectif, il semble que ce soit utilisé pour stocker / mettre en cache le contenu actuellement utilisé.

Si vous êtes curieux de savoir ce qu'il contient, vous pouvez acquérir des fichiers verrouillés, tels que swapfile.sys ou pagefile.sys, à partir d'un système Windows en cours d'exécution à l'aide de FGET(Forensic Get by HBGary).

Exécutez la commande suivante (en tant qu'administrateur):

FGET -extract% systemdrive% \ swapfile.sys OUTPUT_PATH

Après quoi, vous pouvez effectuer une analyse de chaîne à l'aide de Strings. Dans swapfile.sys sur mon système, j'ai notamment découvert:

mon adresse e-mail, plusieurs adresses e-mail et adresses e-mail, variables d'environnement, contenu partiel des pages Web visitées, chaînes de type MIME, chaînes d'agent d'utilisateur, fichiers XML, URL, adresses IP, noms d'utilisateur, noms de fonction de bibliothèque, préférences d'application, chaînes de chemin d'accès, etc.

J'ai également essayé de sculpter le fichier pour rechercher des formats d'image courants et trouvé plusieurs JPEG et PNG comprenant des icônes d'application, des ressources de page Web, plusieurs images de profil, des ressources d'image provenant d'applications Metro, etc.


Si FGETcela ne fonctionne pas pour vous, essayez d'utiliser ifindet icatde The Sleuth Kit . Vous pouvez trouver le numéro d'entrée MFT pour swapfile.sys en utilisant ifindcomme suit:

ifind -n /swapfile.sys \\. \% lecteur_système%

Une fois que vous avez le numéro d'inode, vous pouvez récupérer le fichier icatcomme suit:

icat \\. \% systemdrive% INODE_NUMBER> OUTPUT_PATH

Par exemple:

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

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

REMARQUE: vous devez exécuter les deux commandes à partir d'une invite de commande avec privilèges élevés (c.-à-d. En cmdtant qu'administrateur).

Vinayak
la source
l'outil se bloque lorsque j'ai essayé d'exécuter la commande
magicandre1981
@ magicandre1981 Vous devez l'exécuter en tant qu'administrateur. J'ai oublié de mentionner que
Vinayak
J'ai déjà fait ça.
magicandre1981
@ magicandre1981 Quelle version de Windows utilisez-vous? De plus, si FGET ne fonctionne pas pour vous, il existe d'autres moyens de récupérer le fichier d'échange à partir d'un système en cours d'exécution. Vérifiez le premier lien dans ma réponse pour quelques alternatives.
Vinayak
J'utilise le Windows 8 d'origine (64 bits). Je reçois le c0000417 (STATUS_INVALID_CRUNTIME_PARAMETER) en tant que code d'erreur
magicandre1981 le