Windows Swap, Pagefile.sys : bien gérer la mémoire virtuelle
Windows Swap, Pagefile.sys : bien gérer la mémoire virtuelle
Quand les logiciels ouverts sur votre PC sont à l'étroit dans la Ram, Windows fait appel à de la mémoire virtuelle en utilisant pagefile.sys, un fichier caché sur le disque. Vous pouvez le paramétrer, mais en prenant des précautions…
L'une des principales caractéristiques d'un ordinateur, c'est sa mémoire. Car si c'est bien le processeur qui s'occupe des calculs – du traitement, au sens large –, c'est la mémoire qui accueille le système d'exploitation, les applications et les fichiers associés. Et c'est elle qui cause souvent des soucis, en ralentissant le PC quand elle arrive à saturation. Pour retarder ce phénomène en cas de surcharge, Windows, comme les autres systèmes d'exploitation, utilise une technique de mémoire virtuelle qui fait appel à deux types de mémoire.
Quelle est la différence entre mémoire vive et mémoire de stockage ?
De fait, pour fonctionner, un ordinateur a principalement besoin de deux sortes de mémoire physique en interne.
La première, c'est la mémoire de stockage – ou mémoire de masse – matérialisée par un disque dur ou un SSD – son équivalent plus rapide, composé d'éléments exclusivement électroniques –, où sont sauvegardés les fichiers du système d'exploitation et toutes vos applications et données personnelles. Les fichiers sont conservés même en dehors de toute alimentation électrique, quand l'ordinateur est éteint et/ou que sa batterie est "à plat" : on parle de mémoire non volatile. C'est le même type de stockage que sur les disques externes que l'on branche en USB sur les Mac et les PC.
La seconde, c'est la mémoire vive, également appelée Ram (pour Random Access Memory, en anglais). Composée uniquement de circuits électroniques, elle est bien plus rapide et bien plus chère que la mémoire , que l'ordinateur utilise uniquement quand il est allumé, pour faire fonctionner le système d'exploitation et les applications en cours d'exécution, par exemple un navigateur Internet ou une application de lecture vidéo. Cette Ram se remplit et se libère selon les applications que vous lancez, elle peut hélas aussi saturer si vous lancez trop de programmes à la fois. Il s'agit d'une mémoire volatile : la Ram se vide et "oublie" tout son contenu quand on coupe l'alimentation électrique, quand on éteint complètement l'ordinateur qu'on le redémarre.
Plus vous lancerez d'applications en même temps, plus vous aurez besoin de mémoire vive. Votre navigateur Internet (Chrome, Firefox, Safari…) consomme à lui seul beaucoup de Ram, jusqu'à plusieurs giga-octets si vous ouvrez des dizaines d'onglets – donc autant de pages Web – sans jamais les refermer.
La plupart des PC d'entrée de gamme équipés de Windows 10 comportent aujourd'hui au moins 4 Go de mémoire vive, ce qui est correct pour un usage grand public. Mais il peut être utile de gonfler cette Ram à 8, 16 ou même 32 Go si l'on utilise son ordinateur à des fins professionnelles ou créatives, par exemple pour le montage vidéo, le dessin et la retouche photo, le développement d'applications, ou encore si l'on est fan de gros jeux d'action en 3D.
Souvent, le fabricant permet d'augmenter la capacité de Ram fournie, soit en ajoutant des barrettes mémoire, soit en remplaçant celles déjà en place faute d'emplacements libres : c'est un moyen très efficace d'accélérer un ordinateur, pour 50 à 100 euros.
Mais pour des raisons techniques ou économiques, il n'est pas toujours possible d'augmenter la Ram. Les systèmes d'exploitation ont donc très vite adopté une autre solution, la mémoire virtuelle, qui, bien configurée, offre un compromis très acceptable en cas de montée en charge ponctuelle.
À quoi servent la mémoire virtuelle de Windows et le fichier d'échange pagefile.sys ?
Tous les systèmes d'exploitation modernes (Windows, macOS, Linux…) utilisent une partie de l'espace de stockage – concrètement du disque dur – comme s'il s'agissait de Ram. Cette technique est connue sous le nom générique de mémoire virtuelle.
Dans Windows, l'extension mémoire sur le disque se présente généralement sous la forme d'un seul gros fichier caché, appelé fichier d'échange ou fichier de pagination. Son nom complet est pagefile.sys, il stocké au premier niveau du disque de Windows (C:\). Windows permet même de créer un fichier d'échange sur chaque disque de l'ordinateur (sur chaque partition, pour être exact). Un exemple : avec une Ram de 4 Go et un fichier d'échange de 6 Go sur C:, la mémoire virtuelle totale sera donc de 10 Go.
Quand vous lancez une application, pour stocker son code qui s'exécute et travailler sur vos données, l'application réclame à Windows des blocs de mémoire virtuelle (des "pages") en fonction de ses besoins, sans se soucier de leur localisation précise. Windows les lui accorde rapidement en privilégiant la Ram, du moins tant qu'il le peut. Si la Ram commence à saturer, le fichier d'échange est appelé à la rescousse pour libérer de la mémoire vive : Windows décharge dans pagefile.sys des pages entières de données actuellement moins sollicitées, qui peuvent être mises en attente durant quelques microsecondes.
En cas de saturation de la Ram, les échanges entre Ram et fichier d'échange deviennent très fréquents, voire incessants. Or, le disque dur étant bien moins rapide que la Ram, l'ordinateur finit par être sensiblement moins réactif. Soyons honnêtes, le plus souvent, Windows et les applications restent largement praticables… sinon la technique ne servirait à rien !
Mais la baisse de performances n'est pas linéaire, et l'extrême pénurie de Ram finit par créer un point de rupture. Les performances du PC s'effondrent, Windows ne réagit plus ou avec beaucoup de retard, l'affichage peine à se mettre à jour, les applications "plantent"… Les performances s'effondreront même encore plus si, comble de malchance, votre disque dur est plein à craquer : impossible pour Windows d'augmenter automatiquement la taille du fichier d'échange.
La situation s'améliore nettement avec les récents disques SSD, ces système de stockage à mémoire électronique qui remplacent de plus en plus souvent les disques durs mécaniques dans nos ordinateurs. Les SSD étant beaucoup plus rapides que les disques classiques, l'accès au fichier d'échange est moins pénalisant.
À quoi servent les fichiers swapfile.sys et hiberfil.sys de Windows ?
Si vous jetez un coup d'œil à la racine de votre disque C: en affichant les fichiers système et fichiers cachés, vous constaterez la présence de deux autres fichiers cachés. Le fichier swapfile.sys est un fichier d'échange spécial de Windows 10, de quelques dizaines ou centaines de méga-octets, notamment réservé aux applications que vous téléchargez sur le Windows Store. Sa taille étant en général assez modeste, inutile de s'en préoccuper.
Un troisième fichier caché, appelé hiberfil.sys, occupe sur le disque une taille en principe équivalente à celle de votre mémoire vive. Si votre Ram fait 4 Go, hiberfil.sys occupera donc 4 Go (il arrive qu'il fasse moins). Sa fonction ? Quand vous demandez à mettre votre ordinateur en veille prolongée plutôt qu'en simple veille, Windows recopie la totalité de la mémoire Ram utilisée dans le fichier hiberfil.sys, puis il cesse d'alimenter électriquement des éléments comme l'écran, ainsi que la Ram (alors qu'elle reste alimentée en mise en veille simple), afin de réduire la consommation électrique et décharger moins vite la batterie du PC portable.
Quand le PC sort de cette "hibernation" prolongée, le réveil est plus lent de quelques secondes qu'en mode veille, car en sortie de veille prolongée il faut recopier le contenu du fichier hiberfil.sys dans la Ram (à ce sujet, voir aussi nos conseils en fin d'article).
En résumé, sur la racine du disque C: se trouvent trois fichiers qu'il ne faut pas tenter de supprimer manuellement, mais sur lesquels on peut intervenir avec les outils fournis par Windows :
- pagefile.sys : fichier d'échange de Windows utilisé par le mécanisme de mémoire virtuelle, il occupe plusieurs giga-octets.
- swapfile.sys : fichier d'échange plus modeste principalement dédié aux applications téléchargées sur le Windows Store.
- hiberfil.sys : fichier de plusieurs giga-octets contenant une copie de la mémoire Ram quand vous demandez à Mettre en veille prolongée le PC.
Faut-il changer la taille du fichier d'échange pagefile.sys ?
Si votre ordinateur vous semble suffisamment vif pour l'usage que vous en avez, ne touchez à rien. Si vous devez quotidiennement lancer plusieurs applications en même temps avec pour résultat des performances médiocres, ou si vous utilisez des applications a priori exigeantes en mémoire vive, il est bon de vérifier, primo que le manque de mémoire vive est bien la cause des ralentissements, et secundo que le paramétrage de la mémoire virtuelle est optimal.
Sur les ordinateurs équipés d'anciennes versions de Windows comme XP, Vista ou Windows 7 en mode 32 bits, Microsoft conseille de consacrer 1,5 fois la quantité de Ram au fichier d'échange : pour 4 Go de Ram, on réserve donc 6 Go (4 x 1,5) à pagefile.sys, pour une mémoire virtuelle totale de 10 Go.
Aujourd'hui, avec les mécanismes automatiques efficaces de Windows 10 et le recours de plus en plus fréquent au stockage rapide SSD, nous vous conseillons tout simplement de laisser la gestion automatique de Windows 10 dimensionner la mémoire virtuelle. Le système adaptera la taille du fichier d'échange au fil du temps, en fonction de vos usages. D'autant plus qu'une taille maximale sous-dimensionnée par vos soins risque de faire planter vos applications !
Un mot sur les disques électroniques SSD, dont la durée de vie annoncée par les fabricants est inférieure à celle des disques durs magnétiques. Certains utilisateurs rechignent alors à placer leur fichier d'échange sur un SSD et préfèrent l'installer sur un disque dur quand c'est possible, car trop d'accès disque réduiraient la durée de vie du SSD (qui se comptera toute de même en années, voire en décennies, les SSD récents ayant fait beaucoup de progrès). Nous trouvons dommage de se priver de la rapidité du SSD pour le fichier d'échange, mais à vous de voir…
Quoi qu'il en soit, si vous avez un usage exigeant de votre ordinateur, l'idéal reste d'avoir beaucoup de mémoire vive, au moins 16 Go, afin de recourir le moins possible ou même jamais au fichier d'échange (qu'il soit sur disque dur ou SSD), sans pour autant désactiver ce fichier d'échange.
Comment vérifier et modifier la taille du fichier d'échange pagefile.sys de Windows 10 ?
- Tapez le mot performances dans le champ de recherche en bas à gauche de l'écran, près du menu Démarrer, et cliquez sur la proposition Régler l'apparence et les performances de Windows.
- Dans la fenêtre qui s'ouvre, cliquez sur l'onglet Avancé.
- Cet écran vous indique la Taille du fichier d'échange pour tous les lecteurs, puisqu'on a vu qu'il était possible de définir un fichier d'échange sur chaque partition de disque. Pressez le bouton Modifier pour accéder aux options de la mémoire virtuelle.
- La case Gestion automatique du fichier d'échange pour les lecteurs est sûrement cochée sur votre ordinateur. Si ce n'est pas le cas, nous vous conseillons de la cocher : vous laisserez ainsi Windows prendre les bonnes mesures pour dimensionner le fichier d'échange, augmenter ou réduire sa taille au fil des sessions, etc.
- Si vous préférez garder la main sur le paramétrage, décochez la case de Gestion automatique du fichier d'échange pour les lecteurs. Vérifiez alors au bas de la boîte de dialogue que la taille Allouée actuellement est égale ou supérieure à la taille Recommandée. Si ce n'est pas le cas, sélectionnez le lecteur C: ou un autre, cochez Taille personnalisée et indiquez, par exemple, la capacité recommandée exprimée en méga-octets (Mo) dans le champ Taille initiale, et cette même capacité ou une capacité supérieure dans le champ Taille maximale. Si les notions de Mo et Go ne vous sont pas familières, reportez-vous à nos explications en fin d'article.
- Pressez le bouton Définir pour confirmer un choix personnalisé. Après appui sur OK, vous devrez redémarrer l'ordinateur pour que les changements soient pris en compte.
- Même si vous possédez 16 ou 32 Go de Ram, à moins de vouloir récupérer quelques giga-octets sur un disque où la place commence vraiment à manquer, il ne nous semble pas utile de désactiver le fichier d'échange. Windows privilégiera de toute façon la Ram s'il le peut. L'absence de fichier d'échange empêche également la création d'un DUMP (vidage mémoire) en cas de plantage sévère de Windows.
- Si le disque est très souvent saturé et que vous craignez que Windows ne dispose pas d'assez d'espace pour dimensionner un fichier d'échange à la hauteur de ses attentes, faites de la place sur le disque dur (voir nos conseils en fin d'article) et réservez un espace fixe pour le fichier d'échange. Indiquez une Taille personnalisée (valeur Taille initiale) avec une capacité d'au moins celle mentionnée en Recommandée, ou avec une taille initiale au moins égale à celle Allouée actuellement si elle est supérieure à celle Recommandée, comme sur notre illustration ci-dessus (8704 Mo).
Comment vérifier les performances et l'occupation mémoire de Windows 10 ?
Le Gestionnaire des tâches de Windows vous donne de bonnes indications sur l'occupation des ressources de l'ordinateur.
- Pour afficher le Gestionnaire des tâches, cliquez avec le bouton droit de la souris au bas de l'écran, dans un endroit vide de la barre des tâches, et choisissez Gestionnaire des tâches.
- Autre méthode : pressez les trois touches Ctrl+Alt+Suppr et choisissez Gestionnaire des tâches dans le menu qui s'affiche au centre de l'écran.
- Si le Gestionnaire des tâches n'affiche qu'une vue simplifiée des applications en cours d'exécution, cliquez sur Plus de détails.
- Le Gestionnaire des tâches vous présente dans son premier onglet, Processus, tous les processus en cours d'exécution ainsi que le taux d'occupation des principales ressources de l'ordinateur : le processeur, la mémoire, le disque. Vous découvrez ainsi quelles applications ou quels processus sont les plus gourmands en ressources.
- Cliquez sur l'onglet Performances.
- Dans la colonne de gauche, au-dessous du petit graphique Mémoire, les deux valeurs vous indiquent, d'une part, la mémoire physique Ram actuellement utilisée par Windows et les applications, et d'autre part la mémoire Ram totale du PC (et entre parenthèses le pourcentage de Ram utilisée). Dans la partie principale de l'écran, plusieurs informations vous sont fournies :
- Utilisée (compressée) : la mémoire Ram actuellement utilisée (dont compressée)
- Disponible : mémoire Ram immédiatement disponible pour le système d'exploitation et les applications
- Validée : la première valeur correspond à la mémoire virtuelle utilisée, donc à la fois en Ram et dans le fichier d'échange. La seconde valeur correspond au total de la mémoire virtuelle disponible pour Windows = total Ram + total fichier(s) d'échange
- Mise en cache : code et données mis en cache pour un accès rapide par Windows et les applications
- Réserve paginée : mémoire utilisée par le noyau de Windows qui peut être reléguée dans le ou les fichiers pagefile.sys
- Pool non paginé : mémoire utilisée par le noyau de Windows qui doit toujours rester en Ram
Ces valeurs, et tout particulièrement la mémoire validée totale, peuvent vous aider à définir la taille souhaitable du fichier d'échange, si vous préférez désactiver la gestion automatique de la mémoire virtuelle.
Méga-octets, giga-octets, téra-octets : comment mesurer la mémoire des ordinateurs ?
La mémoire virtuelle est un mécanisme assez complexe à appréhender, qui implique de comprendre quelques principes élémentaires concernant la mémoire. Si ces bases vous manquent, voici quelques explications supplémentaires.
Quel que soit le type de mémoire, vous le savez sûrement, les ordinateurs stockent les informations élémentaires dans de petites cellules capables de contenir la valeur 0 ou 1. Cette cellule s'appelle un bit. Par commodité, les ingénieurs ont regroupé ces cellules élémentaires par groupe de 8 bits, que l'on appelle un octet. Dans les années 1980, les premiers micro-ordinateurs grand public ne comportaient que quelques milliers d'octets de Ram.
Mais compter en octets n'est pas très pratique… Quand vous achetez des pommes, vous demandez au commerçant qu'il vous en serve 1 kg, et pas 1000 g ! Les informaticiens ont donc, eux aussi, réuni les octets par groupe de 1000, ou plus exactement de 1024 (2 puissance 10), pour mentionner plus facilement les capacités mémoire, exprimées en kilo-octets. Grâce à la miniaturisation et à l'évolution des technologies, ces capacités ont continuellement progressé, et il est devenu plus simple d'indiquer cette capacité en méga-octets, et même aujourd'hui en giga-octets et en téra-octets.
On résume :
- 1 octet = 8 bits
- 1 Ko (kilo-octet) = 1024 octets
- 1 Mo (méga-octet) = 1024 Ko = 1024 x 1024 octets
- 1 Go (giga-octet) = 1024 Mo = 1024 x 1024 x 1024 octets
- 1 To (téra-octet) = 1024 Go = 1024 x 1024 x 1024 x 1024 octets
La fenêtre de paramétrage du fichier d'échange vous indique – et vous réclame – des valeurs exprimées en méga-octets, et non en giga-octets. Voici deux exemples pour passer d'une unité à l'autre.
- Exemple 1 : 1919 Mo correspondent à 1919 / 1024 = 1,87 Go.
- Exemple 2 : 4 Go correspondent à 4 x 1024 Mo = 4096 Mo.
Libérer de l'espace de stockage pour le fichier d'échange pagefile.sys
Sur les ordinateurs d'aujourd'hui, l'espace de stockage permanent peut contenir de 32 Go – sur des portables très légers à petit prix – jusqu'à plusieurs milliers de Go, donc plusieurs To, sur disques durs. Attention, avec un PC sous Windows 10 équipé de moins de 128 Go de stockage total (donc avec 32 ou 64 Go), le manque d'espace disque risque de se faire rapidement sentir et de ralentir votre ordinateur. Vous devrez donc rester attentif à ce que vous conservez dans le stockage interne, y faire régulièrement le ménage pour donner la priorité au fonctionnement de Windows, et privilégier le stockage des applications et de vos données personnelles sur une carte mémoire, un disque externe ou une clé USB.
- Reportez-vous à cette fiche pratique pour nettoyer le disque des fichiers inutiles.
- Autre astuce pour gagner de la place : supprimer le fichier hiberfile.sys comme expliqué dans cette fiche pratique. Nous avons vu plus haut que le fichier hiberfil.sys sert à recevoir le contenu de la Ram quand on met le PC en veille prolongée. Pour supprimer le fichier hiberfil.sys et récupérer ainsi quelques giga-octets sur un PC dont le stockage est presque plein, ouvrez l'invite de commandes en mode administrateur, comme expliqué ici, et tapez la commande :
powercfg /h off
- Le fichier hiberfil.sys est supprimé et l'option Mettre en veille prolongée ne vous sera plus proposée quand vous cliquerez sur le menu Démarrer > Marche/Arrêt. Vous pourrez au besoin consacrer cet espace disque à votre fichier d'échange, en imposant une taille personnalisée.
- Pour réactiver la veille prolongée, sur la ligne de commandes admin, tapez :
powercfg /h on