Question Dois-je désactiver le fichier d'échange si j'ai beaucoup de RAM ou devrais-je le déplacer sur un lecteur de RAM virtuel?


Imaginez que j'ai des tonnes de RAM. Disons 64 Go. C'est beaucoup pour les PC de jeu même. L'emplacement par défaut d'un fichier d'échange dans Windows se trouve sur le lecteur principal du système d'exploitation, que ce soit le disque dur ou le disque SSD, qui sont plus rapides en général, mais pas aussi rapides que la mémoire vive.

Quelque chose me dit que la désactivation du fichier d'échange sur le disque dur ou la création d'un lecteur de RAM virtuel et que le fichier d'échange soit présent pourrait amener Windows à transférer toute sa mémoire virtuelle, ce qui augmenterait les performances du système. zone, donc cela pourrait ne pas être vrai du tout.

J'ai essayé les deux, mais je n'ai pas pu analyser les résultats pour arriver à une conclusion définitive avec mon niveau de connaissance en mémoire.

Cela fonctionnerait-il? Si non, pourquoi?


92
2017-09-11 08:34


origine


Avoir un fichier de pagination sur un disque RAM ne réalise jamais rien. Vous supprimez une certaine quantité de mémoire disponible et ajoutez une certaine quantité de mémoire virtuelle. Somme nulle. Il suffit de ne pas avoir de fichier de pagination. - usr
Cela a du sens de faire cela sous Linux dans certains cas où le disque RAM hébergeant le fichier d'échange est réellement compressé. Voir: en.wikipedia.org/wiki/Zram. Cependant, je ne pense pas que Windows dispose d'une telle fonctionnalité. - Matt H
La réponse est oui mais il y a beaucoup de non-croyants. - Mehrdad
@ user367257 créer un disque virtuel sur lequel stocker votre fichier de page est comme prêter 10 € à votre ami pour qu'il ait suffisamment d'argent pour lui permettre d'emprunter 10 £. Cela peut être techniquement possible, mais tout ce que vous avez accompli est de compliquer inutilement un voyage vers nulle part. - Rob Moir
Je voudrais (et fais) seulement le désactiver pour un SSD, puisque vous obtenez seulement beaucoup d'écritures (même si c'est beaucoup maintenant), avec 6 Go. Ça marche bien. - Ry-


Réponses:


Peu importe la quantité de RAM que vous avez, vous voulez que le système puisse l'utiliser efficacement. N'avoir aucun fichier de pagination oblige le système d'exploitation à utiliser la RAM de manière inefficace pour deux raisons. Tout d'abord, il ne peut pas rendre les pages jetables, même si elles n'ont pas été accédées ou modifiées depuis très longtemps, ce qui oblige le cache disque à être plus petit. Deuxièmement, il doit réserver de la RAM physique pour sauvegarder les allocations qui ne le nécessiteront probablement jamais (par exemple, un mappage de fichiers privé et modifiable), ce qui aboutira à un cas où vous disposerez de suffisamment de mémoire vive physique. éviter de faire trop de bruit

Considérons, par exemple, si un programme crée un mappage de mémoire privée accessible en écriture pour un fichier de 4 Go. Le système d'exploitation doit réserver 4 Go de RAM pour ce mappage, car le programme pourrait modifier chaque octet et il n'y a pas d'autre endroit que de la RAM pour le stocker. Donc, immédiatement, 4 Go de RAM sont essentiellement perdus (il peut être utilisé pour mettre en cache des pages de disque propres, mais c'est à ce sujet).

Vous devez avoir un fichier de page si vous souhaitez tirer le meilleur parti de votre mémoire vive, même s'il n'est jamais utilisé. Il agit comme une police d'assurance qui permet au système d'exploitation d'utiliser réellement la mémoire vive dont il dispose, plutôt que de devoir la réserver pour des possibilités extrêmement improbables.

Les personnes qui ont conçu le comportement de votre système d'exploitation ne sont pas des imbéciles. Avoir un fichier de pagination donne plus de choix au système d’exploitation, et il ne fera pas de mauvais choix.

Il ne sert à rien d'essayer de placer un fichier de pagination dans la RAM. Et si vous avez beaucoup de mémoire vive, il est très peu probable que le fichier de pagination soit utilisé (il doit simplement être là), donc peu importe la vitesse du périphérique.


133
2017-09-11 15:43



Je contredisais la velléité. Mais à votre dernier commentaire: je lance 2 machines différentes sans échange. C'est parfait si vous savez exactement comment la machine va être utilisée. - spudone
Je soupçonne que le fichier de la page dans un disque virtuel a commencé comme une «solution de contournement» culte car certains logiciels refusent de démarrer s'il détecte qu'il n'y a pas de fichier de page. (On m'a dit que les outils graphiques / vidéo d'Adobe le font.) - Dan Neely
@DavidSchwartz Les informations que vous donnez sont techniquement correctes, et c’est une bonne information à connaître. Mais la conclusion que vous en avez est que vous devriez toujours avoir un fichier de page indépendamment de la quantité de RAM que vous avez n'est pas correcte et je maintiens mon affirmation que cela ne devrait pas être la réponse acceptée. - Jason Wheeler
Je n'aime pas entendre que "les fichiers de page sont magiques, alors ne les désactivez pas ou vous serez désolé" quand je sais que dans de nombreuses circonstances courantes pouvez désactivez-les et constatez une amélioration des performances en toute sécurité car vous n'augmentez plus les E / S de disque de 100% ou plus lorsque le MMS veut faire quelque chose. Tout ce que je veux entendre de la part des personnes de l’autre côté de ce débat, c’est que «oui, il existe des circonstances dans lesquelles vous pouvez les désactiver et réduire les E / S disque qui peuvent entraîner une destruction». Je ne dis pas que les fichiers de pages sont toujours mauvais, peut-être que vous pouvez dire qu'ils ne sont pas toujours nécessaires. - Fred Hamilton
J'ai réalisé que ce qui m'énervait à propos de tout cela, c’est qu’une partie semble dire que «les fichiers de page ne font rien d’autre que du bien» et que l’autre côté est que «les fichiers de pages sont terribles». La «vérité» est que dans certains cas, ils sont très utiles et même empêchent les accidents et, dans d’autres cas, ils ne sont pas nécessaires et peuvent en fait réduire les performances. Je suis content de cela comme déclaration finale, peu importe. Vive longtemps et prospère, @ David Schwartz. - Fred Hamilton


Vous avez entièrement raison dans votre hypothèse.

Les algorithmes de gestion de la mémoire sont très complexes et ne sont en aucun cas parfaits. L'échange se produit donc même lorsqu'il y a beaucoup de mémoire vive disponible. Sur certains systèmes, comme Linux, vous pouvez contrôler swappiness, sur d'autres, vous ne pouvez pas. En remplaçant les données quand il y a encore beaucoup de mémoire vive, le système prépare à sa manière la situation où il risque de manquer de mémoire vive.

Ainsi, la désactivation de la fonctionnalité d'échange peut vous donner une amélioration des performances car vous n'utiliserez que la RAM, qui est plus rapide que vous l'avez déjà dit.

Une chose à considérer (et vous l'avez déjà mentionné) - vous devez avoir assez RAM pour accueillir tous les programmes que vous exécutez, sinon vous risquez de courir Mémoire insuffisante. Dans ce cas, les performances vont baisser, certains processus peuvent être interrompus par le système d’exploitation et le système peut subir un blocage ou un blocage. (en savoir plus à ce sujet ici)

Sur certaines machines, en particulier celles qui conservent le fichier d'échange sur le disque dur et non sur le disque dur SSD, l'effet de la désactivation de l'échange est très perceptible. Sur d'autres, ce n'est pas si évident. Mais même si vous n'obtenez pas d'amélioration évidente, pensez-y autrement: en désactivant le swap, vous économiserez de l'espace disque sur votre SSD.

En désactivant la permutation, vous empêcherez également les algorithmes de mémoire de faire des opérations inutiles - en déplaçant les données de la RAM pour les échanger et inversement - en cas de SSD, cela empêchera une usure excessive. Et dans tous les cas, cela améliorera les performances en éliminant les opérations inutiles.

Lisez aussi:


30
2017-09-11 08:55



@ChrisH Vous ne seriez probablement pas en mesure de charger une base de données SQL dans un traitement de texte, car ceux-ci sont entièrement exécutés en RAM :-) - TylerH
Cette réponse est incorrecte et contient beaucoup d'informations erronées. Mais la manière la plus simple de comprendre pourquoi cela ne va pas est la suivante: les personnes qui ont conçu le comportement de la mémoire de votre système d'exploitation sont probablement parmi les plus intelligentes au monde. Pourquoi concevraient-ils un système qui lui donnerait plus d’options (la possibilité d’échanger si, et seulement si, il pense que c’est mieux) rendrait ses performances pires? Seul un idiot concevrait un tel système. - David Schwartz
@DavidSchwartz, je ne vois pas comment le fait que les personnes qui ont développé des algorithmes de gestion de la mémoire soient intelligents, fait toute la différence par rapport au sujet original. OP a demandé si la désactivation de l'échange pouvait améliorer les performances et j'ai expliqué que cela pouvait, dans certaines conditions, entraîner des problèmes dans d'autres conditions. Répondre à votre question de savoir pourquoi (?) - je peux dire, parce que les algorithmes ne sont pas parfaits et que l'utilisateur doit les affiner. C'est la raison pour laquelle il existe un paramètre swappiness dans Linux et c'est pourquoi il est tout à fait possible de désactiver l'échange. - Art Gertner
@smc Il n'y a rien d'inhabituel dans le cas d'utilisation des PO. La notion que les systèmes d'exploitation sont pas correctement réglé pour les cas d'utilisation standard de la tourbière est un non-sens complet. (Voir ma réponse pour en savoir plus sur pourquoi vous ne voulez pas faire cela.) - David Schwartz
L'hypothèse selon laquelle un algorithme donné prendra toujours une décision souhaitable pour l'utilisateur est complètement fausse. Ils prennent des décisions sur la base de paramètres déterminés par les programmeurs. Cela pourrait bien être en contradiction directe avec ce qu’un utilisateur doit avoir. - Anaksunaman


Pouvez-vous désactiver le fichier d'échange en toute sécurité?

Si vous manquez de mémoire libre, y compris la mémoire virtuelle, le système ne peut continuer à garantir une exécution déterministe et se termine. Avant que cela ne se produise, le système d’exploitation effectuera diverses autres tâches, telles que la suppression de programmes utilisant trop de mémoire. Ce que je veux dire, c'est que la mémoire est toujours limitée et que chaque système d'exploitation peut y faire face. Par conséquent, limiter la mémoire totale disponible à 64 Go ne nuira pas à Windows - de nombreux systèmes ne peuvent pas dépasser 8 Go, même avec un fichier d'échange, car avec 1 ou 2 Go de RAM, le fichier d'échange est généralement inférieur à 6 ou 7 Go. Il convient de noter que tant que vous avez une quantité excessive de RAM inutilisée, la surcharge du système d'exploitation qui maintient un fichier d'échange ne sera pas mesurable.

Est-il judicieux de mettre le fichier d'échange sur un disque virtuel?

Pour augmenter la mémoire disponible, la plupart des systèmes d’exploitation avancés, sinon tous, utilisent un type de fichier d’échange dans lequel ils prennent de la mémoire en RAM et n’ont pas été accédés depuis un certain temps, écrivent la mémoire sur le disque dur. fichier de page), et supprimez la mémoire de la mémoire vive afin de disposer d’une mémoire plus rapide. Le fichier d'échange est utilisé pour étendre la taille maximale de la mémoire au-delà de la taille de la mémoire RAM disponible.

Par conséquent, l'utilisation d'un disque virtuel (qui réduit la mémoire disponible par la taille du disque virtuel) pour héberger le fichier d'échange (ce qui augmente la mémoire disponible en fonction de la taille du fichier d'échange) fonctionnera, mais cela n'aura pas beaucoup de sens. Il n'offrira pas plus de mémoire que la désactivation du fichier d'échange, mais le système devra toujours exécuter des algorithmes de pagination.


14
2017-09-11 08:52



Mais si le fichier d'échange se trouve sur un lecteur de RAM virtuel, le temps nécessaire pour copier des mégaoctets de la RAM sur le disque dur virtuel ou à partir de celui-ci sera réduit. Et si le fichier d'échange est complètement désactivé, il ne devrait pas y avoir de perte de temps. Est-ce correct? - user1306322
Correct. Copier des octets de la RAM vers un fichier d'échange qui se trouve sur un disque virtuel est le fichier d'échange le plus rapide possible. Mais ne pas copier du tout est plus intelligent. - Peter
Les swapfiles sont là pour compenser le manque de RAM. S'il y a beaucoup de RAM, il n'y a pas besoin de compenser. Votre système d'exploitation utilisera quand même le fichier d'échange, donc il est plus rapide de l'éteindre dans ce cas.
@Mast C'est une simplification flagrante. Les fichiers d'échange sont également là pour permettre une utilisation efficace de la mémoire vive. - David Schwartz
@DavidSchwartz Peut-être, mais c'est l'explication qui m'a expliqué le mieux. Dans la plupart des cas, une petite quantité de fichier d'échange est toujours bénéfique sur aucun fichier d'échange. Cependant, je n'ai pas les ressources pour le faire.


Pour réitérer ce que d’autres ont dit, déplacer le swap sur un disque RAM droit est plutôt inutile (dans le cas le plus courant, voir ci-dessous). À un moment donné, lorsque le système manque de mémoire, certaines données sont transférées de la RAM vers la RAM de manière plutôt inefficace.

Le fait de permuter sur le disque dur / SSD permet au système d’exploitation d’évacuer certaines pages de la mémoire RAM complètement inutilisées et d’utiliser l’espace libéré, par ex. cache de fichiers ou autres tampons système. Vous ne réalisez peut-être pas que le système alloue moins de ces tampons RAM car vous ne disposez pas de mémoire virtuelle disponible sans fichier de page; Ainsi, vous risquez de ralentir vos performances en désactivant le swap.

Cependant, un disque RAM compressé comme lecteur de swap, un lecteur «ZSWAP», peut être utile dans les cas marginaux (où vous pourriez avoir besoin de quelques Mo de RAM supplémentaires pour éviter le transfert vers le disque dur) en améliorant l’efficacité de l’espace dans une certaine mesure.


8
2017-09-11 15:42



+1 pour mentionner ZSWAP. Il est couramment utilisé sur certaines plates-formes mobiles, ainsi que sous OS X 10.9 (en plus du swap). - James_pic
Notez que "le disque RAM compressé en tant que lecteur de swap" a toujours le problème qu'il ne fait rien pour tous les "fichiers de pagination" autres que le fichier de page réel. - Jamie Hanrahan


Si vous ne possédez pas de fichier de page, Windows ne pourra pas écrire le fichier de vidage sur incident en cas de crash. Cela signifie que vous ne pourrez pas analyser le problème en utilisant les outils appropriés.

Avoir le fichier de la page dans RAM est presque inutile, car il peut être perdu dans le crash.

Pour plus d'informations, consultez l'article Microsoft Comprendre les fichiers de vidage sur incident.


4
2018-02-07 20:55





Pour Windows, de la bouche des chevaux:

Certains estiment que l'absence de fichier de pagination se traduit par de meilleures performances, mais en général, disposer d'un fichier de pagination permet à Windows d'écrire des pages sur la liste modifiée (qui ne sont pas activement utilisées mais non enregistrées sur le disque). fichier de pagination, rendant ainsi cette mémoire disponible à des fins plus utiles (processus ou cache de fichiers). Donc, même s'il peut y avoir des charges de travail qui fonctionnent mieux sans fichier de pagination, en général, avoir une mémoire signifie que plus de mémoire utilisable sera disponible pour le système (peu importe que Windows ne puisse pas écrire assez grand pour les tenir).

https://blogs.technet.microsoft.com/markrussinovich/2008/11/17/pushing-the-limits-of-windows-virtual-memory/

  • mémoire utilisable - bien que cela recommande d'avoir de la mémoire virtuelle, cela suggère également que vous avez besoin de très grandes quantités de RAM pour être certain de ne pas avoir de fichier de page / mémoire virtuelle. J'ai 4 Go de RAM SSD de 128 Go sans fichier de page, mais je l'utilise pour la navigation sur le Web et la saisie de mots.

4
2018-03-04 11:32



D'après mes leçons personnelles et quelque chose que je prêche à tous les nouveaux employés: il n'y a que deux règles. # 1: ne faites jamais confiance à Microsoft. # 2 .. vous n'avez pas écouté la règle 1, donc il n'y a pas de règle 2. - Nick


Ne pas désactiver le fichier d'échange  Ce n'est pas juste pour quand vous manquez de mémoire. Il n'y a pas de gain de performance direct en l'éteignantWindows ne le lit que quand il le faut, il y écrit tout le temps, il est prêt à tout moment.

Vous pouvez le réduire à environ 2/3 de la taille de la mémoire si vous avez plus de 4 Go, car il stocke l'image de la mémoire compressée. Vous pouvez le placer sur votre disque dur plus lent, auquel aucun autre disque lourd n’accède si vous n’avez pas d’espace sur un disque SSD. Mais il est avantageux d'en avoir un quelque part.

Voir cette réponse pour plus d'informations sur pourquoi. https://superuser.com/a/286476/4236


3
2017-09-11 15:28