Échange Windows (fichier d'échange): activer ou désactiver?

28

D'après mon expérience personnelle, j'ai remarqué que la désactivation du fichier d'échange dans Windows XP m'a donné, en général, le gain de vitesse le plus élevé de tout autre changement logiciel que je puisse apporter. De toute évidence, cela doit être fait lorsqu'une quantité importante de RAM est disponible. En général, je trouve que cela fonctionne bien avec + 2 Go de RAM. Les seuls problèmes que j'ai jamais vraiment rencontrés étaient le chargement d'Adobe Photoshop.

Est-ce vraiment une amélioration de la vitesse ou est-ce que je l'imagine?

Remarque: pour le désactiver, vous ne devez pas simplement le régler sur 0 Mo, mais le désactiver. Sinon, Windows l'étendra quand il le faudra pour répondre à ses besoins.

Joe Phillips
la source
9
Attention: Il n'y a qu'une quantité limitée de mémoire accordée aux pilotes, appelée sections de mémoire de pool non-pagedetpaged . Un fichier d'échange est nécessaire lorsque la section paginée est pleine, en tant que joueur, j'ai vu un jeu se plaindre de la mémoire du pool paginé simplement parce que mon fichier d'échange était désactivé sur un système de 8 Go. Conclusion: les fichiers d'échange sont nécessaires, ils empêchent l'épuisement du pool paginé et accélèrent réellement votre système.
Tamara Wijsman

Réponses:

18

Windows XP vide les applications minimisées sur le disque comme un fou. Essayez-le vous-même, commencez à télécharger un grand torrent et minimisez tout. Bientôt, presque toute votre RAM est utilisée comme cache de fichiers pour le torrent au lieu de vos autres applications. La désactivation du fichier d'échange empêchera ce comportement.

Dans Windows Vista et Windows 7 cependant, le système gère ce scénario beaucoup, beaucoup mieux .. donc je ne suis pas sûr que la désactivation du fichier d'échange dans ces versions fera une grande différence.

Certains jeux nécessitent que vous ayez un fichier d'échange même s'il n'est pas vraiment nécessaire, je l'ai remarqué récemment en essayant de jouer à une démo de jeu que j'ai téléchargée depuis Steam. Même si j'avais 6 Go de RAM disponibles, le jeu a refusé de démarrer jusqu'à ce que je crée un tout petit fichier de page. Soupir

Personnellement, lorsque j'ai beaucoup de RAM, je préfère me passer d'un fichier d'échange.

zidar
la source
Je vais sans fichier de page sur WinXP depuis que j'ai posé cette question et c'est super. Je ne l'ai pas encore vraiment essayé sur Win7, donc je ne peux pas dire si cela en vaudrait la peine pour les nouvelles versions de Windows.
Joe Phillips
Je l'ai essayé sur Win7 et je n'ai pas eu une grande expérience. Étant donné que les disques SSD ne sont pas disponibles, il est logique de n'avoir qu'un fichier d'échange
Joe Phillips
Avoir ou non un fichier d'échange n'a rien à voir directement avec le comportement de mise en cache des fichiers.
Jamie Hanrahan
25

Ne vous en faites pas, laissez Windows se comprendre.

Cette réponse ServerFault est la meilleure explication de pourquoi:

Beaucoup de gens semblent supposer que Windows pousse les données dans le fichier d'échange à la demande. EG: quelque chose veut beaucoup de mémoire, et il n'y a pas assez de RAM pour combler le besoin, donc Windows commence à écrire follement des données de la RAM sur le disque à cette dernière minute, afin qu'il puisse libérer de la RAM pour les nouvelles demandes.

Ceci est une erreur.

La punchline:

La suppression complète du fichier d'échange peut entraîner une surcharge du disque.

Facteur mystique
la source
12
Comment la suppression du fichier d'échange entraînerait-elle TOUTE thrash de disque? Si quoi que ce soit, il devrait arrêter de se débattre. Windows donnera une erreur s'il manque de RAM - il ne décidera pas d'utiliser le swap s'il a été désactivé.
Joe Phillips
2
d03boy, lisez le post SF. Si vous devez déplacer la mémoire de processus active hors de la mémoire RAM, cela provoquera BEAUCOUP plus d'activité sur le disque.
Factor Mystic
3
@ d03boy: La réponse se trouve dans le message lié. Fondamentalement, si vous utilisez trop de RAM, le HD va être utilisé d'une manière ou d'une autre. Si vous supprimez le fichier d'échange, le disque dur est toujours utilisé pour stocker potentiellement le code du programme (il suffit de le lire à partir des fichiers d'origine à la demande) lorsque davantage de RAM doit être allouée.
Sean
1
@Factor, Windows vous donne simplement une erreur s'il utilise trop de RAM physique. Cela ne va rien retirer de RAM AFAIK @Darth, le message lié donne l'impression que cela fait que la pagination soit activée ou désactivée de toute façon
Joe Phillips
2
Ce n'est pas vrai pour Windows XP cependant, Windows XP a une gestion de la mémoire horrible. Lisez ma réponse.
zidar
7

de Microsoft répondre "désactiver le fichier d'échange"

http://social.answers.microsoft.com/Forums/en-US/w7performance/thread/0bd8a75c-2607-4468-8342-c35ea82ea670

Ken Blake, MVP Microsoft

y a-t-il un gain de performances à cela? Merci.

Peut tu? Oui. Devrais-tu? Non, absolument pas.

Y a-t-il un gain de performances à faire cela? Non, et il peut y avoir une perte de performances.

Tout d'abord, 2 Go, ce n'est pas beaucoup de RAM, c'est le minimum que la plupart des gens devraient avoir.

Deuxièmement, si vous n'avez pas de fichier d'échange, vous ne pouvez pas utiliser toute la RAM dont vous disposez. En effet, Windows pré-alloue la mémoire virtuelle en prévision d'un éventuel besoin, même si l'allocation ne doit jamais être utilisée. Sans fichier d'échange, cette allocation doit être effectuée dans la mémoire réelle, ce qui limite cette mémoire et l'empêche d'être utilisée à quelque fin que ce soit.

Troisièmement, il n'y a jamais d'avantage à ne pas avoir de fichier d'échange. S'il n'est pas nécessaire, il ne sera pas utilisé. Ne confondez pas la mémoire allouée avec la mémoire utilisée.

Ken Blake, Microsoft MVP (Windows Desktop Experience) depuis 2003 Ken Blake

miki
la source
Et la raclée? La HD est-elle moins utilisée si elle est désactivée? Cela ne semble pas être la réponse complète. Sans oublier, cette question concerne XP et cette réponse concerne Win7
Joe Phillips
Je ne pense pas que MVP soit correct, avec suffisamment de mémoire, vous pouvez désactiver le fichier d'échange; assurez-vous simplement de ne pas manquer de mémoire.
Tamara Wijsman
1
@JoePhilllips - Non, simplement, si la mémoire de données + la mémoire de programme dépasse la mémoire système sans fichier d'échange, l'espace disponible pour les programmes est réduit pour faire de la place aux données, car les programmes peuvent toujours être récupérés à partir des fichiers de programme d'origine. Donc, si vous avez 8 Go de mémoire, 6 Go de données et 4 Go d'applications, votre système d'exploitation n'a que 2 Go à partager entre ces 4 Go de programmes. Ce serait constamment lire du code et fouiller le disque. Si seulement 4 Go de données étaient réellement nécessaires et que vous aviez un fichier d'échange de 2 Go dans lequel échanger le reste, le système d'exploitation pourrait utiliser les 4 Go restants pour les programmes, donc pas de thrashing!
Mark Booth
6

Je dirais activer .

Peu importe la quantité de RAM dont vous disposez, il y aura des scénarios où un fichier d'échange sera, à tout le moins, utile. En outre, il convient de noter que lorsqu'il existe un fichier d'échange, une grande partie du temps d'exécution Windows y est déchargée la plupart du temps. La raison? Bien qu'il soit nécessaire en mémoire, il n'est pas nécessaire pour le moment . Le mettre dans le fichier d'échange peut signifier qu'il faut plus de temps pour y accéder, mais cela laisse plus de RAM libre pour les programmes que vous utilisez réellement.

La raison pour laquelle vos performances ont augmenté est que vous obligiez le système entier à être chargé dans la RAM, ce qui est certes beaucoup plus rapide. Cependant, je suppose que lorsque vous commencez à utiliser un tas de programmes à la fois, en particulier ceux qui nécessitent beaucoup de mémoire comme Firefox et votre Photoshop, cette amélioration ira tout de suite. *

Cependant, il est possible que vous ne rencontriez jamais ce problème simplement en raison de vos habitudes informatiques. Je sais que si j'essayais de désactiver le fichier d'échange, je ne l'apprécierais pas du tout. Donc, si vous le voulez vraiment, essayez de le laisser hors tension pendant un certain temps et de voir ce qui se passe, vous pouvez toujours le réactiver plus tard.

* "Ce paragraphe était un bon nombre de spéculations" / avertissement;)

Sean
la source
J'ai maintenant 4 Go de RAM depuis que j'ai récemment mis à niveau (bien que winxp ne voit que 3,5) et que le fichier d'échange ait été désactivé pendant quelques mois sans aucun problème et seulement un ou deux redémarrages. J'utilise des programmes assez lourds (y compris photoshop) sans aucun problème jusqu'à présent.
Joe Phillips
Dans ce cas, n'hésitez pas à ignorer mes conseils et à faire ce qui vous semble le mieux. Bien que le post de Factor Mystic ait un bien meilleur argument pour la même conclusion, alors gardez au moins ce qu'il dit à l'esprit;)
Sean
Je vais peut-être le rallumer et voir si cela aide. Je ne peux tout simplement pas imaginer que l'écriture constante pour échanger soit bonne pour mon disque dur.
Joe Phillips
5

Je dirais activer mais le déplacer vers un deuxième lecteur, de préférence un non utilisé par un autre porc d'E / S. Cela m'a souvent donné une meilleure vitesse que de désactiver complètement le fichier d'échange. Bien sûr, maximiser la RAM est une bonne optimisation parallèle.

romandas
la source
1
Si vous le faites, assurez-vous que vous déplacez le fichier d'échange vers un autre périphérique physique. Le déplacer vers une autre partition sur le même périphérique est une perte de temps, sauf si vous disposez d'un disque dur de qualité industrielle (comme SCSI).
Paweł Polewicz
3

Je désactive le fichier d'échange sur les systèmes Windows 32 bits avec 4 Go de mémoire physique. Avoir de la mémoire virtuelle ne va pas ajouter plus d'adresses au système, et le désactiver signifie que je n'ai jamais à attendre que Windows permute ou disparaisse.

kquinn
la source
6
Quels tests de synchronisation avez-vous exécutés et sous quelles sortes de charges?
Michael Kohne
2
Pas de données
tangibles
4
Bien sûr, c'est une anecdote subjective - ai-je jamais prétendu le contraire? Je ne sais pas pourquoi les gens demandent des données de synchronisation: je n'exécute pas de serveurs sur Windows (sauf si je dois le faire!), J'exécute mon bureau personnel et ma machine de jeu dessus. Et pour une telle machine, la réponse subjective est tout ce qui compte.
kquinn
1
Et vous n'avez jamais couru plus de processus en tant que temps, je suppose? Même sur un système 32 bits, plus de 4 Go de RAM physique peuvent être alloués à tout moment. Vous pouvez même allouer plus de 4 Go de RAM à un seul processus en utilisant les API de mémoire virtuelle pour remapper des sections de votre espace d'adressage.
Eclipse
1
Euh, vouliez-vous dire que plus de 4 Go de RAM virtuelle peuvent être alloués? Lorsque toute la RAM physique est utilisée, vous commencerez à obtenir des erreurs de pagination de la MMU, ce qui entraînera un échange. Sans fichier de pagination, cela va être l'échange de toutes les données DLL / EXE jetées. Avec un fichier d'échange, ce serait tout ce qui a été écrit dans le fichier d'échange.
JBRWilkinson
3

Je désactive le fichier d'échange sur les systèmes Windows 32 bits avec 4 Go de mémoire physique. Avoir de la mémoire virtuelle ne va pas ajouter plus d'adresses au système, et le désactiver signifie que je n'ai jamais à attendre que Windows permute ou disparaisse.

Non. L'espace d'adressage est le suivant: chaque PROCESS a son propre espace d'adressage 31 bits (inférieur à 2 Go) et le noyau a son propre espace d'adressage 31 bits (toujours le même, quel que soit le processus qui possède le thread actuel). Cela vous donne 2 Go * de nombre de processus d'espace d'adressage en mode utilisateur disponible. Sans échange, l'espace en mode utilisateur est limité à la taille de la mémoire physique moins la taille de la mémoire du noyau (généralement environ 200 Mo). Bien sûr, il peut y avoir une limite artificielle sur la quantité de mémoire virtuelle que votre système peut allouer, mais je ne suis pas un expert des politiques de licence de Microsoft.

Notez également que la désactivation de l'échange ne signifie pas nécessairement qu'il n'y aura pas de défauts de page entraînant l'accès au disque. Le fichier d'échange n'est pas le seul fichier auquel la mémoire est mappée. Chaque fichier exécutable (c'est-à-dire .exe ou .dll, à l'exception des pilotes en mode noyau) a sa propre sauvegarde sur disque - à savoir, le fichier exe. Bien sûr, les pages qui ont été modifiées en mémoire, telles que les segments de données inscriptibles, IAT ou même les segments de code (dans le cas d'exécutables compressés, par exemple) nécessitent un échange séparé, mais la grande majorité du code / des données / ressources statiques n'ont pas besoin d'être échangés et ... peuvent être supprimés de la mémoire lorsque le système manque de ressources. Lorsque le processus a besoin d'un accès à ces données, un défaut de page et un accès au disque se produisent, que le swap soit activé ou non.

kmode MZ
la source
2

Sean Nyman a précédemment déclaré: "en particulier ceux qui nécessitent beaucoup de mémoire comme Firefox et votre Photoshop, cette amélioration ira tout de suite."

Je voulais juste ajouter que dans Firefox, si vous tapez about:configdans la barre d'adresse pour accéder aux paramètres avancés de Firefox, vous pouvez ajouter une nouvelle chaîne browser.cache.disk.enableet définir la valeur booléenne sur false, ce qui forcera Firefox à ne mettre en cache que sur la RAM. Vous pouvez également ajouter la chaîne browser.cache.disk.capacityet spécifier une valeur pour contrôler la quantité d'espace dans la RAM que Firefox utilisera pour le cache du navigateur. J'espère que ça aide. J'ai le mien mis en cache dans la RAM et Firefox est toujours super rapide.

J'ai également un lecteur SSD pour le lecteur système dans cet ordinateur portable, avec un lecteur rotatif de 500 Go dans la baie secondaire pour le stockage, et j'ai défini les dossiers TMP, TEMP et Temporary Internet Files pour pointer vers le lecteur rotatif dans Windows 7 Pro, avec déplacer mon pagefile.sys sur mon lecteur rotatif sur D: et mon système fonctionne très rapidement comme la foudre. J'ai quand même 4 Go de RAM, donc je ne pense pas que Windows 7 utilise même beaucoup le fichier d'échange, mais quel est le mal à le laisser activé?

ojosch
la source
Peu importe la quantité de mémoire dont vous disposez, Windows aime utiliser le fichier d'échange pour une raison quelconque
Joe Phillips
0

La désactivation du fichier d'échange est peut-être l'amélioration la plus spectaculaire que vous pouvez utiliser pour augmenter les performances de votre ordinateur. Dans le scénario typique, la plupart des ordinateurs portables utilisent des disques durs magnétiques physiques qui ont des pièces mobiles. Ces lecteurs sont très lents par rapport à la vitesse de la mémoire de votre ordinateur. Donc, si vous avez le bélier pour forcer les fenêtres à rester "dans les limites de leurs moyens" et à ne jamais écrire sur le disque, cela ne ralentira que lorsqu'il devra frapper le disque pour un fichier qui n'est pas déjà en mémoire. Tout en mémoire s'exécutera beaucoup plus rapidement. L'idée est de mettre en cache l'intégralité du système d'exploitation afin qu'il ne puisse lire ou écrire sur un disque physique que lorsqu'il a besoin de quelque chose qui n'est pas déjà en mémoire.

La lecture / écriture RAM se produit en nanosecondes par rapport aux millisecondes sur les disques magnétiques physiques.

Maintenant, quelque chose à considérer est qu'il y a maintenant de nouvelles options de fichiers d'échange qui deviennent pratiques. Si vous utilisez un disque SSD ou que vous obtenez des fenêtres pour placer le fichier d'échange sur une carte SD, vous constaterez également des augmentations de performances significatives.

Juste mon 0,02 $

Axxmasterr
la source
3
La désactivation de l'échange ne signifie pas que tout reste en mémoire. Cela signifie que ce qui est vidé de la mémoire doit être lu à partir de son emplacement d'origine sur le disque lorsque cela est nécessaire. Cela signifie que votre système sera plus lent. Voir le post SF que je lie dans ma réponse.
Factor Mystic
3
C'est précisément pourquoi vous l'optimisez pour qu'il n'ait jamais besoin de toucher le disque. Je l'ai déjà fait auparavant et cela fonctionne.
Axxmasterr