111 votes

Dois-je désactiver le fichier d'échange si j'ai beaucoup de RAM ou dois-je le déplacer vers un disque RAM virtuel ?

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

Quelque chose me dit que désactiver le pagefile sur le disque dur ou créer un disque RAM virtuel et y laisser le pagefile pourrait faire en sorte que Windows déplace toute sa mémoire virtuelle vers la RAM, et ainsi augmenter les performances du système, mais je ne suis pas très compétent dans ce domaine, 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 matière de mémoire.

Est-ce que ça marcherait ? Si non, pourquoi ?

148voto

David Schwartz Points 60868

Quelle que soit la quantité de RAM dont vous disposez, vous voulez que le système soit capable de l'utiliser efficacement. L'absence totale de fichier de pagination oblige le système d'exploitation à utiliser la RAM de manière inefficace pour deux raisons. Premièrement, 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 soutenir des allocations qui sont très peu susceptibles d'en avoir besoin (par exemple, un mappage de fichier privé et modifiable), ce qui conduit à un cas où vous pouvez avoir beaucoup de RAM physique libre et pourtant les allocations sont refusées pour éviter le surengagement.

Prenons l'exemple d'un programme qui établit un mappage de mémoire privé et accessible en écriture d'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 la RAM pour le stocker. Ainsi, 4 Go de RAM sont immédiatement gaspillés (ils peuvent être utilisés pour mettre en cache des pages de disque propres, mais c'est à peu près tout).

Vous devez disposer d'un fichier de pages si vous voulez tirer le meilleur parti de votre RAM, même si elle n'est jamais utilisée. Il agit comme une police d'assurance qui permet au système d'exploitation d'utiliser réellement la RAM dont il dispose, plutôt que de devoir la réserver pour des possibilités extraordinairement 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 au système d'exploitation plus de choix, et il ne fera pas de mauvais choix.

Il n'y a aucun intérêt à essayer de mettre un fichier de pagination dans la RAM. Et si vous avez beaucoup de RAM, il est très peu probable que le fichier de pagination soit utilisé (il doit juste être là), donc la vitesse du périphérique sur lequel il se trouve n'a pas d'importance particulière.

1 votes

Ce n'était pas moi, mais lisez ceci : overclock.net/t/1193401/ (en particulier, la partie concernant la limite commit, et le commentaire par courriel de Mark Russinovich, qui est un expert en la matière).

3 votes

David Schwartz a tout à fait raison, si vous êtes vraiment préoccupé par la possibilité que la pagination sur disque ralentisse votre système, vous pouvez acheter un disque SSD de 64 Go pour presque rien (40AUD) et l'utiliser comme disque de pagination/d'échange. Le fait de réserver la RAM pour la possibilité d'en avoir besoin plus tard a également d'autres implications en termes de performances. Sous Windows (et d'autres systèmes d'exploitation), les éléments couramment utilisés sont placés dans la mémoire cache, qui peut être détruite instantanément en cas de besoin, mais qui peut être consultée plus rapidement que la lecture à partir d'un disque.

0 votes

@spudone : Où David a-t-il mentionné un disque RAM ?

39voto

Ben Groot Points 2379

Vous avez tout à fait raison dans votre hypothèse.

Les algorithmes de gestion de la mémoire sont très complexes et ne sont en aucun cas parfaits. Le swapping se produit donc même lorsqu'il y a beaucoup de RAM libre. Sur certains systèmes, comme Linux vous pouvez contrôler l'échange sur d'autres, vous ne pouvez pas. En échangeant des données lorsqu'il y a encore beaucoup de RAM, le système se prépare à sa façon à la situation où il pourrait manquer de RAM.

La désactivation de la fonction de permutation pourrait donc vous permettre d'améliorer les performances, car vous n'utiliserez que la RAM, qui est plus rapide, comme vous l'avez déjà dit.

Une chose à considérer (et vous l'avez déjà mentionné) - vous devez avoir assez de RAM pour accueillir tous les programmes que vous exécutez, sinon vous risquez d'exécuter plus de mémoire . Dans ce cas, les performances diminuent, certains processus peuvent être interrompus par le système d'exploitation et le système peut se bloquer ou se figer. (en savoir plus à ce sujet aquí )

Sur certaines machines, notamment 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 visible. Sur d'autres, il n'est pas aussi évident. Mais même si vous n'obtenez pas d'amélioration évidente, pensez-y d'une autre manière : en désactivant le swapping, vous économiserez de l'espace disque sur votre SSD.

En désactivant le swapping, vous empêcherez également les algorithmes de mémoire d'effectuer des opérations inutiles - déplacer des données de la RAM vers le swap et vice versa - dans le cas d'un SSD, cela évitera une usure excessive. Et dans tous les cas, cela améliorera les performances en éliminant les opérations inutiles.

Lisez aussi :

1 votes

"Une chose à considérer (et vous l'avez déjà mentionné) - vous devez avoir assez de RAM pour accommoder tous les programmes que vous exécutez" juste pour donner un exemple de ceci : mon netbook a seulement 2GB et swap désactivé (linux, mais cela n'a pas trop d'importance). La seule chose que je ne peux pas faire, c'est de l'édition vidéo.

0 votes

@ChrisH, remarque valable. Cela prouve que la quantité de RAM dépend fortement des besoins de l'utilisateur. Pour quelqu'un, 2 Go suffisent, pour quelqu'un d'autre, il faut 64 Go. (Personnellement, je fais tourner mon système avec 3 Go de RAM et pas de swap et je n'ai jamais eu de problèmes).

0 votes

Il serait exagéré de dire que je suis un joueur occasionnel, mais même ainsi, mon ordinateur de bureau est assez différent : 4 Go de RAM + swap sur un disque dur dédié (mais swappiness ajusté). J'avais initialement prévu de mettre une partition de swap rarement utilisée sur la carte SD du netbook (une carte SD de 8 Go coûte des clopinettes par rapport à un SSD), mais il y a eu des problèmes de pilotes.

14voto

Peter Points 4484

Pouvez-vous désactiver la pagefile en toute sécurité ?

Si vous n'avez plus de mémoire libre, y compris la mémoire virtuelle, le système ne peut continuer à garantir une exécution déterministe et s'arrête de lui-même. Avant que cela ne se produise, le système d'exploitation fera diverses autres choses, comme tuer les programmes qui utilisent 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 s'en accommoder. 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 de page, car avec 1 ou 2 Go de RAM, le fichier de page est généralement beaucoup plus petit que 6 ou 7 Go. Il convient de noter que tant que vous disposez d'une quantité excessive de RAM inutilisée, les frais généraux liés à la maintenance d'un fichier de page par le système d'exploitation ne seront pas mesurables.

Est-il judicieux de mettre le fichier page sur un disque RAM ?

Pour augmenter la mémoire disponible, la plupart des systèmes d'exploitation avancés, sinon tous, utilisent une sorte de fichier d'échange dans lequel ils prennent de la mémoire qui se trouve dans la RAM et à laquelle on n'a pas accédé depuis un certain temps, et l'écrivent sur le disque dur (fichier d'échange, alias pagefile ), et supprimez la mémoire de la RAM afin de libérer de la mémoire rapide. Le fichier d'échange est utilisé pour étendre la taille maximale de la mémoire au-delà de la taille de la RAM disponible.

Par conséquent, l'utilisation d'un disque RAM (qui réduit la mémoire disponible de la taille du disque RAM) pour héberger le fichier d'échange (qui augmente la mémoire disponible de la taille du fichier d'échange) fonctionnera, mais n'aura pas beaucoup de sens. Il n'offrira pas plus de mémoire que la désactivation du fichier de pagination, mais il faudra quand même que le système exécute des algorithmes de pagination.

0 votes

Mais si le fichier de pages se trouve sur un lecteur RAM virtuel, le temps nécessaire pour copier quelques mégaoctets de la RAM vers le disque dur virtuel ou inversement sera réduit. Et si le fichier de pages est complètement désactivé, il ne devrait pas y avoir de perte de temps. Est-ce exact ?

2 votes

Correct. Copier des octets de la RAM vers un fichier de pages qui se trouve sur un disque RAM est le fichier de pages le plus rapide possible. Mais ne pas copier du tout est plus intelligent.

2 votes

Les swapfiles sont là pour compenser un manque de mémoire vive. S'il y a beaucoup de mémoire vive, il n'est pas nécessaire de compenser. Votre système d'exploitation continuera cependant à utiliser le fichier d'échange, il est donc plus rapide de le désactiver dans ce cas.

8voto

demonkoryu Points 181

Pour répéter ce que d'autres ont dit, déplacer le swap vers un disque RAM direct est plutôt inutile (dans le cas le plus courant, voir ci-dessous). Le résultat est qu'à un certain moment, lorsque le système est affamé de mémoire libre, certaines données sont déplacées de RAM en RAM d'une manière plutôt inefficace.

Le fait d'avoir un swap sur le disque dur/SSD permet au système d'exploitation de vider certaines pages de RAM complètement inutilisées et d'utiliser l'espace libéré pour, par exemple, le cache des fichiers ou d'autres tampons du système. Vous ne vous rendez peut-être pas compte que le système alloue moins de ces tampons de RAM parce que vous n'avez pas de mémoire virtuelle disponible sans fichier de page ; donc, en fait, vous pourriez réduire vos performances en désactivant le swap.

Cependant, un disque RAM compressé comme lecteur de swap Un lecteur "ZSWAP" peut être utile dans certains cas (lorsque vous avez besoin de quelques Mo de RAM supplémentaires pour éviter de passer au disque dur) en améliorant l'efficacité de l'espace d'un segment de RAM dans une certaine mesure.

0 votes

Notez que l'option "disque RAM compressé en tant que disque d'échange" présente toujours le problème de ne rien faire pour tous les "fichiers de pagination" autres que le fichier de page proprement dit.

7voto

harrymc Points 394411

Si vous n'avez pas de fichier de page, en cas de BSOD (plantage), Windows ne pourra pas écrire le fichier de vidage de plantage. Cela signifie que vous ne serez pas en mesure d'analyser le problème en utilisant les outils appropriés.

Il est pratiquement inutile d'avoir le fichier de page dans la RAM, car il peut être perdu dans le crash.

Pour plus d'informations, voir l'article de Microsoft Comprendre les fichiers de vidange d'un crash .

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X