La question de la désactivation du fichier d'échange Windows a déjà fait l'objet de nombreuses discussions, par exemple ici et ici et ici . Les gens continuent à upvoter les réponses qui disent " vous ne devriez pas désactiver votre fichier d'échange même si vous avez beaucoup de RAM ", mais je n'ai pas encore vu de raisons concrètes et vérifiables pour expliquer ce conseil. Autant que je sache, si vous n'avez jamais besoin de lire le fichier d'échange (car vous disposez de suffisamment de RAM), les performances ne pourraient être qu'aggraves si ce dernier est activé, car Windows y écrit de manière préemptive. Au mieux, la performance serait la même. Je ne vois pas comment cela pourrait éventuellement être amélioré en écrivant des données que vous n'avez jamais besoin de lire.
Donc ma question est:
En supposant que je dispose de suffisamment de RAM physique pour tout ce que je fais, y a-t-il une raison pour laquelle je ne devrais pas désactiver le fichier d'échange?
Supposons que la version de Windows est Windows XP x64 SP2 ou Windows Server 2003 x64 SP2 (même chose). Si la situation est différente pour Windows Server 2008 x64, je serais également intéressé par une réponse à cette question. Je cherche des raisons spécifiques et objectives provenant de bonnes sources, pas seulement des opinions. Quelque chose comme "voici les tests effectués avec et sans fichier d'échange et les résultats sont meilleurs avec un fichier d'échange, même avec suffisamment de RAM" ou "selon cet article MS KB, le problème X se produit si vous désactivez le fichier d'échange".
Jusqu'à présent, les seules raisons que j'ai mentionnées sont:
- Même si vous pensez avoir assez de RAM, vous risquez de manquer de mémoire. OK, mais pour les besoins de cette question, considérons simplement que j'en ai assez. Peut-être que je ne lis que mon courrier électronique et que je dispose de 16 Go de RAM. Ou 128 Go. Ou 1 To. Ou peu importe - mais c'est suffisant pour 100% de ce que je fais, 100% du temps. Une autre façon d’y penser est la suivante: si j’ai x Mo de RAM physique et y pfichier de page et que je ne manque jamais de RAM dans cette configuration, ne serais-je pas mieux loti en termes de performances, avec x + y Mo de RAM physique et aucun fichier de page?
- Windows est « utilisé pour » avoir un fichier d'échange et il pourrait ne pas fonctionner de manière aussi fiable (de Comprendre l'impact de la RAM sur le système d' ensemble Performance C'est assez vague et je trouve difficile à croire, étant donné que MS a fourni la possibilité de désactiver le fichier d' échange .
- Windows sait ce qu'il fait mieux que vous. Non - il ne sait pas que je n'exécuterai pas plus de programmes ni ne chargerai plus de données, mais c'est le cas.
Réponses:
Ceci est une micro-optimisation. Le fait est qu'il n'y a aucune raison de le faire, dans quelque chose qui ressemble à un fonctionnement normal. Cela pourrait facilement vous blesser si votre profil d'utilisation change.
Dans des cas spécialisés, cela peut avoir un sens, par exemple s'il n'y a pas de disque inscriptible local.
la source
Il existe de nombreuses raisons de conserver le fichier d'échange même si vous pouvez tout stocker dans la RAM.
La réponse sur SF a 125 votes positifs et relie de nombreux articles crédibles. Vérifiez-le:
https://serverfault.com/questions/23621/any-benefit-or-detriment-from-removing-a-pagefile-on-an-8gb-ram-machine/23684#23684
la source
De ce lien:
Voici un lien vers le point de vue de Jeff Atwood .
la source
J'utilise un ordinateur portable Windows XP SP3 Professional 32 bits avec 4 Go de RAM (Windows ne reconnaît 'officiellement que 3 Go de celui-ci) depuis plus d'un an maintenant sans fichier d'échange. Les gens de mes cercles essayaient aussi de me faire peur que je n'aurais pas dû faire ça.
J'utilise des applications très gourmandes en mémoire - à tout moment, j'ai au moins deux machines virtuelles (vmware) configurées pour s'exécuter à 100% en RAM, j'ai au moins une instance de Visual Studio (qui a beaucoup des add-ons installés), SQL Server et plusieurs "petites" applications telles que la messagerie électronique, la messagerie instantanée, IE, etc.
En dehors de tout cela, j'ai aussi un disque permanent Ramdisk de 256 Mo. De temps en temps, j'utilise Adobe Photoshop Tandis que les autres applications sont en cours d'exécution. Et je joue aussi à plusieurs jeux, dont Quake3, Neverwinter Nights, Oblivion.
Et je n'ai pas de problèmes.
Note à BlueNovember: notre ami a très gentiment demandé des raisons objectives. Ainsi, des affirmations telles que "Je soupçonne ..." ne sont pas fondées. S'il vous plaît savoir avant de poster! L'hibernation n'a rien à voir avec la pagination. Il utilise un fichier séparé appelé hiberfil.sys et vous pouvez passer en hibernation sans fichier d'échange.
PS: Désolé mec, je refuse de revenir à une configuration «normale» afin de pouvoir mesurer à quel point cette configuration est plus rapide, mais le simple fait de voir une quantité beaucoup moindre de cette activité de disque dur est très rassurant. Je désactiverais le fichier d'échange uniquement pour cela, sinon au moins, car au moins votre ordinateur "se sent" plus vite lorsque le voyant HDD ne vacille pas en permanence.
La SEULE raison pour ne pas désactiver le fichier d'échange est si vous utilisez l'Analyseur de performances (PerfMon), car cela dépend du fichier d'échange et nécessite au minimum un fichier d'échange de 2 Mo, sinon les compteurs seront manquants pour les objets suivants: Cache, mémoire, objets, processeur. et système.
la source
Je crois que si vous n'avez pas de fichier d'échange, Windows ne pourra pas écrire le minidump en cas de BSOD. Cela signifie que vous ne pourrez pas analyser le problème en utilisant les outils appropriés.
Cela ne vous dérange peut-être pas si vous n'avez pas de BSOD et vous pouvez certainement recréer le fichier d'échange assez rapidement, mais pourquoi ne pas être préparé?
la source
La meilleure raison que j'ai trouvée est que le fichier d'échange permet à Windows d'utiliser plus de RAM physique pour le cache de disque, ce qui peut être une meilleure utilisation que les pages de mémoire rarement utilisées. Mark Russinovich a écrit un excellent article, Repousser les limites de Windows: la mémoire virtuelle , qui dit:
la source
J'utilise Windows XP avec 4 Go (3,5 Go utilisables) de RAM. Je dois exécuter Visual Studio 2008, qui nécessite beaucoup de mémoire. J'ai souvent 3 à 4 instances ouvertes, chacune occupant 500 Mo ou plus de mémoire.
Cela me dérangeait vraiment, car chaque fois que je devais fermer rapidement toutes les instances de Visual Studio, Windows mettrait un temps fou à fermer les instances. Cela a pris 3 minutes ou plus. J'ai réalisé que ce qui se passait, c'était que les instances de Visual Studio étaient extraites de la mémoire vive et insérées dans le fichier d'échange, même s'il restait beaucoup de mémoire disponible. Lors de la fermeture de l'application, toutes les données paginées étaient chargées dans la RAM, puis arrêtées. Essentiellement, il faudrait copier 2 Go de données du disque dans la mémoire avant de fermer les instances.
Après avoir désactivé la pagination, j'ai constaté une augmentation énorme des performances lors de l'arrêt de plusieurs instances de Visual Studio. Cela prendrait 100% du processeur pendant quelques secondes, puis disparaîtrait. Arrêter Windows est maintenant possible bien en moins d'une minute, au lieu de plusieurs minutes.
Cependant, je n’ai remarqué aucune augmentation des performances lors du démarrage d’applications, ce qui est logique, car les données doivent toujours être lues à partir du disque au démarrage. De plus, j'estime que les choses sont généralement plus simples avec la pagination désactivée.
De plus, je n'ai rencontré que quelques fois par an des programmes qui échouaient à cause d'une mémoire insuffisante. Habituellement, si j'ouvre trop de programmes ou si un programme devient fou et commence à allouer de la mémoire comme un fou.
En résumé, je suis très heureux avec la pagination désactivée. La gestion de la mémoire dans Windows est assez terrible. Pour ceux qui sont à l'aise avec le bricolage avec les paramètres de mémoire et sont conscients des problèmes possibles, je vous recommande de le faire.
la source
Contrairement aux idées reçues, le fichier d'échange n'est pas simplement une alternative peu coûteuse mais lente à la mémoire physique. Il a été conçu pour permettre une utilisation optimale de la RAM dont vous disposez.
Même avec 4 Go de RAM, vous n'avez probablement pas assez de tout garder en mémoire. Rien dans le Gestionnaire des tâches ne le révélera. Sachant cela, les concepteurs Windows ont créé un système dans lequel le code exécutable était uniquement mis en mémoire en cas de besoin, puis conservé le plus longtemps possible. Si le système trouve une meilleure utilisation de la mémoire ainsi utilisée, il sera réaffecté. Ce système est utilisé par Microsoft depuis la NT3.1, sortie en 1993. Il est utilisé régulièrement dans les grands systèmes depuis les années 1960.
Ce système fonctionne bien pour la plupart des formes de code exécutable. Mais les données modifiées doivent être écrites quelque part, le fichier d'échange, avant que la mémoire utilisée ne puisse être réaffectée. Le fichier d'échange n'est normalement pas utilisé pour stocker du code, uniquement des données. Le fait de pouvoir feuilleter à la fois le code et les données donne au système une flexibilité quant à ce qui doit être paginé lorsque cela est nécessaire. La désactivation du fichier d'échange signifie que seule la mémoire utilisée pour le stockage du code peut être réaffectée. Toutes les données modifiées, même celles auxquelles on n'a pas accédé depuis longtemps et dont on peut ne plus avoir besoin, doivent rester en permanence dans la RAM. Mais la pagination du code continuera comme avant. L'absence de fichier d'échange, ou un fichier trop petit, déséquilibre le système et oblige Windows à rechercher une page de manière sous-optimale. Cela altère généralement les performances.
la source
Si votre bélier atteint son maximum, un ou plusieurs des programmes ayant demandé la mémoire risquent de planter brusquement.
Ce risque l'emportera sur les gains de performance que vous pourriez obtenir.
la source
Ma suggestion est de conserver le fichier de page, mais de le corriger manuellement à une petite taille, telle que 128 Mo, sur le disque système.
La raison en est une raison pratique: Windows s'attend réellement à ce qu'il y ait un fichier d'échange et en créera le plus souvent un automatique temporaire s'il n'en trouve aucun, ce qui rend toute désactivation inutile.
En outre, certaines opérations, telles que BSODing, compteurs de performances, suspension / reprise / veille prolongée, ou des problèmes de stabilité du système en souffriront. Tout cela basé sur mon expérience, et tout cela est parti avec un fichier page petit.
Notez que le fichier d'échange sera probablement rempli dans les premières minutes d'exécution; il ne sera plus jamais touché de nouveau dans la plupart des cas, de sorte que vous ne subirez pas les coûts habituels du fichier d'échange de pénalité d'accès au disque. Vous pourriez recevoir une alerte "vous êtes à court de mémoire" bientôt dans votre session, que vous pouvez ignorer en toute sécurité (ouais, l'échange est plein, et alors?)
(Je n'aime pas beaucoup superfetch, et laisse plutôt de la mémoire libre pour la mise en cache des effets)
la source
Une réponse qui n’a pas été mentionnée est que Windows utilise le fichier de page pour stocker les vidages sur incident. La fonction qui masque l’ordinateur en bleu écrit le vidage sur incident directement sur les secteurs du disque contenant le fichier de page (en ignorant le pilote de système de fichiers auquel Windows ne peut actuellement avoir confiance).
Sans fichier de page, vous ne pouvez pas obtenir d'informations sur le vidage sur incident. En outre, le fichier d'échange ne vous nuit pas si vous ne l'utilisez pas. Par conséquent, en dehors d'un ensemble très limité de scénarios, il n'y a aucune raison de le désactiver.
la source
Pensez à ce que SuperFetch charge votre mémoire restante avec le cache , il devient alors clair pourquoi nous ne devrions pas désactiver le fichier de page. Les tâches en série (car le multitâche est inadéquat) et les démarrages d’applications en cache sont très utiles. Il est donc agréable d’utiliser SuperFetch au détriment de la pagination.
la source
Si votre question était:
et vous avez dit oui, alors ce serait OK.
Les environnements embarqués sont probablement ceux où cela aurait le plus de chances de s’appliquer, comme une installation de système d’exploitation de caisse enregistreuse.
la source
La réponse simple est que Windows devient terrible s’il n’ya plus de mémoire.
Les choses deviennent terriblement lentes.
De nombreux logiciels ont des fuites de mémoire qui minent lentement votre RAM disponible.
De plus, Windows utilise une partie de votre RAM en cache sur vos disques durs.
À moins que vous n'ayez vraiment beaucoup plus de RAM que nécessaire, cela finira par poser problème.
la source
Fichier de page
Je cours sous 32 bits avec 4 Go de mémoire (je sais, XP ne voit que 3 Go mais il est entrelacé et très rapide) et je voudrais faire deux remarques:
XP ne peut voir que 3 Go de mémoire. Quand ma machine a déjà cela, à quoi sert un fichier de page? C'est réserver de la mémoire disque à laquelle il ne peut jamais accéder. Sauf si cela désactive de la RAM. Vous avez donc dépensé votre argent durement gagné en mémoire, pour constater que XP est plutôt un disque datant.
Si vous utilisez XP 32 bits et que vous avez 4 Go de mémoire, essayez cette expérience: Désactivez le fichier d'échange. Redémarrez XP. Supprimer le fichier d'échange. Exécuter quelques progs, Word, Excel, Chrome, IE Ex, regarder un film, écouter de la musique ou regarder la télévision. Tout devrait bien fonctionner. Remettez le fichier d'échange sous tension, cette fois-ci avec une taille vraiment petite, disons 25 Mo. Redémarrez XP. Exécuter quelques progs, Word, Excel, Chrome, IE Ex, regarder un film, écouter de la musique ou regarder la télévision. Vous recevrez bientôt un message indiquant que vous manquez de mémoire virtuelle. Cela prouve que XP utilise le fichier d'échange même s'il n'en a pas besoin. Vérifiez l'onglet de performance du gestionnaire de tâches (alt ctrl del). Peak sera bien en dessous de la mémoire physique totale, alors pourquoi XP utilise-t-il le fichier d'échange? Et pourquoi XP pense-t-il que vous manquez de mémoire?
Le fichier d'échange est un anachronisme du temps de DOS et de Windows 98. Si vous avez assez de mémoire, éliminez-la.
la source