GUIDES

Le fichier d'échange et les jeux : pourquoi le désactiver se retourne contre toi

Windows ne peut promettre aux programmes que la mémoire de ta RAM plus celle du fichier d'échange. Supprime le fichier d'échange et ce plafond descend juste en dessous de ta RAM, et un jeu qui l'atteint peut se figer ou planter.

Tu as 32 GB de RAM, alors un guide t'a dit que le fichier d'échange est un reste des machines plus petites et qu'il peut disparaître. Ou un jeu a planté avec une erreur de mémoire insuffisante alors que le Gestionnaire des tâches montrait beaucoup de RAM libre. Ou, en pleine partie, Windows a affiché "Your computer is low on memory" (votre ordinateur manque de mémoire) et t'a demandé de fermer des programmes.

Les trois viennent du même mécanisme, et ce n'est pas celui que suppose le conseil « désactive-le ».

À quoi sert le fichier d'échange

Windows distribue la mémoire en deux étapes. Un programme commence par valider de la mémoire, ce qui revient pour Windows à promettre que l'espace existe, et n'y écrit que plus tard. La présentation du fichier d'échange de Microsoft définit le plafond de ces promesses : la limite de validation du système est la somme de la mémoire physique et de tous les fichiers d'échange réunis.

Le total de toutes les promesses est la charge de validation, et ce n'est pas la même chose que la RAM utilisée. Le guide de performances de Microsoft sur la mémoire validée souligne que la mémoire validée n'a pas forcément été écrite ni touchée, donc la charge peut atteindre la limite alors qu'il reste beaucoup de mémoire physique disponible. C'est ainsi qu'un jeu peut manquer de mémoire pendant que le Gestionnaire des tâches montre de la RAM libre.

Le fichier d'échange a une deuxième tâche : garder la mémoire qui a été modifiée mais qui sert rarement, pour que Windows puisse la sortir de la RAM et donner cette RAM à quelque chose de plus actif. Sa troisième tâche, les vidages sur incident, a sa propre section plus bas.

Ce qui se passe sans lui

Sans fichier d'échange, le guide de dimensionnement du fichier d'échange de Microsoft dit que la limite de validation devient légèrement inférieure à la mémoire physique installée. Les promesses de tous les programmes doivent alors tenir dans la RAM, y compris la mémoire promise mais pas encore utilisée.

Quand la charge atteint la limite, la présentation dit que le système et les processus peuvent ne pas obtenir de mémoire validée, ce qui peut provoquer des blocages, des plantages et d'autres dysfonctionnements. Mark Russinovich, qui écrivait sur la mémoire virtuelle de Windows en 2008, l'a dit clairement : quand la limite de validation est atteinte, les allocations qui valident de la mémoire échouent. Un jeu qui demande de la mémoire à ce moment-là ne l'obtient pas.

Il a aussi répondu à l'argument de la vitesse. Certains pensent que ne pas avoir de fichier d'échange donne de meilleures performances, a-t-il écrit, et c'est possible pour certaines charges de travail ; mais en général, un fichier d'échange permet à Windows d'écrire sur le disque les pages qui ne sont pas utilisées activement, ce qui laisse plus de mémoire utilisable pour le système. La présentation de Microsoft ajoute que certains produits et services exigent un fichier d'échange.

Les vidages sur incident en ont besoin aussi

Quand Windows plante sur une erreur d'arrêt, l'enregistrement de ce qui a échoué passe par défaut par le fichier d'échange. La documentation de Microsoft sur les vidages dit que le contenu de la RAM est écrit dans le fichier d'échange de la partition où Windows est installé, que le fichier d'échange doit se trouver sur le volume de démarrage pour que la fonction de vidage marche, et que s'il a été déplacé sur un autre volume, il faut le remettre en place. Avec le type de vidage par défaut, « Automatic memory dump » (image mémoire automatique), et un fichier d'échange en « System managed size » (taille gérée par le système), Windows dimensionne le fichier d'échange pour qu'une image mémoire du noyau puisse être capturée dans la plupart des cas.

La boîte de dialogue de la mémoire virtuelle avertit elle-même de ce point : si tu désactives le fichier d'échange ou que tu règles sa taille initiale en dessous d'un certain nombre de mégaoctets et qu'une erreur système survient, Windows risque de ne pas enregistrer des détails qui pourraient aider à identifier le problème. Sans ces détails, trouver pourquoi un jeu a planté devient plus difficile.

Vérifier à quelle distance tu es du plafond

Ouvre le Gestionnaire des tâches, va dans Performances et sélectionne « Memory » (mémoire). « Committed » (validée) affiche deux nombres : la charge de validation, puis la limite de validation. Si le premier s'approche du second pendant que tu joues, tu es près du plafond dont parle cette page, quoi qu'indique « In use (Compressed) » (utilisée, compressée).

Deux guides de Microsoft donnent des seuils légèrement différents pour ce rapport. Le guide de performances cité plus haut considère que tout ce qui dépasse 75 % est près de la pénurie ; le guide actuel de Microsoft pour le dépannage des performances indique 0 à 50 % comme sain, 60 à 80 % comme avertissement et 80 à 100 % comme critique.

Pour voir quel programme détient les promesses, l'onglet Détails a une colonne « Commit size » (taille de validation) pour chaque processus ; Sélectionner des colonnes l'ajoute si elle est masquée. Si Windows a déjà manqué de mémoire, il enregistre l'événement 2004 de Microsoft-Windows-Resource-Exhaustion-Detector dans le journal Système, avec un message qui nomme les programmes ayant consommé le plus de mémoire virtuelle. Cette commande PowerShell liste les cinq derniers :

Get-WinEvent -FilterHashtable @{LogName='System'; ProviderName='Microsoft-Windows-Resource-Exhaustion-Detector'; Id=2004} -MaxEvents 5 | Format-List TimeCreated, Message

Si elle répond qu'aucun événement n'a été trouvé, le journal ne contient aucun événement de ce type.

Quelle taille lui donner

Laisse-le en « System managed size » (taille gérée par le système). Le guide de dimensionnement dit que les fichiers d'échange sont gérés par le système par défaut, et que la bonne taille dépend de ton réglage de vidage sur incident et de ta charge de validation maximale, qu'elle est propre à chaque système et ne peut pas être généralisée. Russinovich jugeait inutiles les vieilles formules en multiple de la RAM pour la même raison.

Un fichier d'échange géré par le système grandit tout seul. Quand la charge de validation dépasse 90 % de la limite, il grandit jusqu'à trois fois ta RAM ou 4 GB, selon la valeur la plus grande, mais pas plus d'un huitième du volume, et seulement si le disque a l'espace libre nécessaire. Garde un peu de place libre sur le disque qui l'héberge.

Il existe une exception documentée. Dans le KB 4055223, indiqué pour Windows 10 et Windows 11, Microsoft décrit des erreurs aléatoires de mémoire insuffisante dans des programmes qui allouent souvent de la mémoire, qui peuvent venir du délai pendant lequel un fichier d'échange automatique grandit. Sa solution de contournement est une taille personnalisée avec une taille initiale de 1,5 fois ta RAM, augmentée encore si les erreurs continuent. Cela contredit la phrase « ne peut pas être généralisée » ci-dessus ainsi que Russinovich, alors considère-le comme le remède à ce symptôme précis, pas comme une règle.

Pour changer le réglage, appuie sur Win+R et lance SystemPropertiesAdvanced. Sous « Performance » (performances), choisis Paramètres..., ouvre l'onglet « Advanced » (avancé) et choisis « Change... » (modifier) sous « Virtual memory » (mémoire virtuelle). La case du haut est « Automatically manage paging file size for all drives » (gestion automatique du fichier d'échange pour tous les lecteurs). En dessous, pour chaque lecteur, se trouvent « Custom size » (taille personnalisée), « System managed size » (taille gérée par le système) et « No paging file » (aucun fichier d'échange). « Set » (définir) applique le choix à ce lecteur ; sélectionne ensuite OK et redémarre le PC.

L'usure du SSD

L'autre raison avancée pour le supprimer est l'usure du SSD. Le blog d'ingénierie de Windows 7 de Microsoft a rapporté, dans sa télémétrie de 2009, environ 40 lectures du fichier d'échange pour 1 écriture, et en a conclu qu'il y a peu de fichiers plus adaptés que le fichier d'échange pour être placés sur un SSD. Ce sont des chiffres de 2009, alors prends-les comme la tendance, pas comme les chiffres d'aujourd'hui.

Pour donner un ordre de grandeur sur un disque plus récent, la fiche technique du 990 PRO de Samsung, de 2022, donne au modèle de 1 TB 600 TB d'écriture sous une garantie limitée de cinq ans, selon la première échéance atteinte. Réparti uniformément, cela fait environ 330 GB d'écriture par jour pendant cinq ans ; cette division est la nôtre, pas celle de Samsung.

Ce qui n'aide pas

À lire aussi

Cette page t'a-t-elle aidé ?

Qu'est-ce qui manquait, ou qu'est-ce qui n'a pas marché ? Nous lisons chacun de ces messages.

Si cette page n'a pas réglé le problème, écris-nous — dis-nous quel article tu as lu, et nous corrigerons l'article.