Imaginez que j'ai des tonnes de RAM. Disons 64 Go. C'est beaucoup, même pour les PC de jeu. Désormais, l'emplacement par défaut d'un fichier d'échange sous Windows se trouve sur le lecteur principal du système d'exploitation, qu'il s'agisse d'un disque dur ou d'un disque dur SSD, qui sont généralement plus rapides, mais pas aussi rapides que la RAM.
Quelque chose me dit que désactiver le fichier d'échange sur le disque dur ou créer un lecteur de RAM virtuel et laisser le fichier d'échange en place pourrait inciter Windows à déplacer toute sa mémoire virtuelle vers RAM et ainsi augmenter les performances du système, mais je ne le connais pas très bien. région, donc cela pourrait ne pas être vrai du tout.
J'ai essayé les deux, mais je ne pouvais pas analyser les résultats pour arriver à une conclusion définitive avec mon niveau de connaissance en mémoire.
Cela fonctionnerait-il? Sinon pourquoi?
la source
Réponses:
Peu importe la quantité de RAM dont vous disposez, vous souhaitez que le système puisse l'utiliser efficacement. Ne pas avoir de fichier de pagination oblige le système d'exploitation à utiliser la RAM de manière inefficace pour deux raisons. Premièrement, cela ne peut pas rendre les pages jetables, même si elles n’ont été ni consultées ni 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 très peu susceptibles de l'exiger (par exemple, un mappage de fichier privé modifiable), ce qui conduit à un cas où vous pouvez disposer de suffisamment de RAM physique tout en refusant les allocations. éviter de trop s'engager.
Considérez, 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 la RAM pour le stocker. Donc, immédiatement, 4 Go de RAM sont à la base gaspillés (il peut être utilisé pour mettre en cache des pages de disque vierge, mais c'est à peu près tout).
Vous devez disposer d'un fichier de page si vous souhaitez tirer le meilleur parti de votre RAM, même s'il n'est jamais utilisé. Il s’agit d’une police d’assurance qui permet au système d’exploitation d’utiliser réellement la RAM dont il dispose, au lieu de la réserver à 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 n'en fera pas de mauvais.
Il ne sert à rien d'essayer de mettre un fichier d'échange 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 simplement être là), aussi la vitesse à laquelle le périphérique est allumé est sans grande importance.
la source
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. L'échange se produit donc même lorsqu'il y a beaucoup de RAM disponible. Sur certains systèmes,
Linux
vous pouvez par exemple contrôler le swappiness , sur d’autres, vous ne le pouvez pas. En échangeant des données lorsqu'il reste encore beaucoup de RAM, le système se prépare, à sa manière, à la situation dans laquelle il risque de manquer de RAM.La désactivation de la fonctionnalité de permutation peut donc vous permettre d’améliorer les performances, car vous n’utiliserez que de la RAM, qui est plus rapide, comme vous l’avez déjà dit.
Une chose à considérer (et vous l’avez déjà mentionnée): vous devez disposer de suffisamment de RAM pour accueillir tous les programmes que vous exécutez, sinon vous risqueriez de manquer de mémoire . Dans ce cas, les performances chuteront, certains processus pourraient être arrêtés par le système d'exploitation et le système pourrait subir un crash / gel. (en savoir plus ici )
Sur certaines machines, en particulier celles qui conservent le fichier d'échange sur le disque dur et non sur le disque SSD, l'effet de la désactivation de la permutation est très visible. Sur d'autres, ce n'est pas si évident. Mais même si vous n'obtenez pas d'amélioration évidente, réfléchissez-y d'une autre manière. En désactivant la permutation, vous économiserez de l'espace disque sur votre SSD.
En désactivant la permutation, vous empêcherez également les algorithmes de mémoire d'effectuer des opérations inutiles (déplacer des données de la RAM vers la permutation et inversement), ce qui empêchera l'usure excessive des disques SSD. Et dans tous les cas, cela améliorera les performances en éliminant les opérations inutiles.
Aussi, lisez:
la source
Pouvez-vous désactiver le fichier d'échange en toute sécurité?
Si vous manquez de mémoire libre, y compris de mémoire virtuelle, le système ne peut pas continuer à garantir une exécution déterministe et se termine lui-même. Avant que cela ne se produise, le système d’exploitation effectuera diverses autres tâches, telles que la suppression des programmes utilisant trop de mémoire. Ce que je veux dire, c’est que la mémoire est toujours finie et que chaque système d’exploitation peut s’en occuper. Par conséquent, limiter la mémoire totale disponible à 64 Go ne nuit 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 beaucoup plus petit que 6 ou 7 Go. Il convient de noter que tant que vous avez une quantité excessive de RAM inutilisée, la charge supplémentaire liée au système d’exploitation conservant un fichier d'échange ne sera pas mesurable.
Est-il judicieux de placer le fichier d'échange sur un disque mémoire?
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 utilisent une partie de la mémoire qui est dans la RAM et qui n'a pas été utilisée depuis un moment, écrivez la mémoire sur le disque dur (swapfile ou pagefile ), et effacez la mémoire de la RAM 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 RAM disponible.
Par conséquent, l'utilisation d'un disque mémoire (qui réduit la mémoire disponible de la taille du disque) pour héberger le fichier d'échange (qui augmente la mémoire disponible de la taille du fichier d'échange) fonctionnera, mais cela n'aura pas beaucoup de sens. Il ne proposera pas plus de mémoire que de désactiver le fichier d'échange, mais le système devra néanmoins exécuter des algorithmes de pagination.
la source
Pour répéter ce que d’autres ont dit, il est plutôt inutile de passer d’un swap à un autre disque RAM (dans le cas le plus courant, voir ci-dessous). Il parvient à ce que, à un moment donné, lorsque le système manque de mémoire, certaines données soient déplacées de RAM à RAM de manière plutôt inefficace.
La permutation sur le disque dur / SSD permet au système d’exploiter des pages RAM totalement inutilisées et d’utiliser l’espace libéré, par exemple pour le cache de fichiers ou d’autres mémoires tampons système. Vous ne réalisez peut-être pas que le système alloue moins de mémoire tampon RAM, car vous n'avez pas de mémoire virtuelle disponible sans fichier de page; alors, en fait, vous risquez de ralentir vos performances en désactivant le swap.
Toutefois, un disque RAM compressé en tant que lecteur d'échange , un lecteur "ZSWAP", peut s'avérer avantageux dans les cas extrêmes (où vous aurez peut-être besoin de seulement quelques RAM supplémentaires pour éviter le basculement sur le disque dur) en améliorant le gain d'espace d'un segment de RAM. certaine mesure.
la source
Si vous n'avez pas de fichier d'échange, Windows ne pourra pas écrire le fichier de vidage sur incident en cas de BSOD (blocage). Cela signifie que vous ne pourrez pas analyser le problème en utilisant les outils appropriés.
Avoir le fichier de page dans la RAM est presque inutile, car il peut être perdu dans le crash.
Pour plus d'informations, voir l'article de Microsoft intitulé Comprendre les fichiers de vidage sur incident .
la source
Pour Windows, de la bouche du cheval:
https://blogs.technet.microsoft.com/markrussinovich/2008/11/17/pushing-the-limits-of-windows-virtual-memory/
la source
Ne désactivez pas le fichier d'échange. Ce n'est pas seulement pour le manque de mémoire. Il n’ya aucun avantage direct sur le plan de la performance à l’éteindre , Windows l’a lu seulement quand il le faut, il l’écrit tout le temps pour qu’il soit prêt à tout moment.
Vous pouvez le réduire à environ 2/3 de la taille de la mémoire si vous disposez de 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 accès disque lourd n’accède, si vous n’avez pas l’espace disponible sur un disque SSD. Mais il est avantageux d’en avoir un quelque part.
Voir cette réponse pour plus d'informations quant à pourquoi. https://superuser.com/a/286476/4236
la source
En théorie, placer le fichier d'échange dans la RAM ne devrait avoir aucun sens, car vous ne faites qu'épuiser vos gains supposés, et Windows repose sur l'hypothèse selon laquelle le fichier d'échange ne sera pas utilisé à de telles fins.
Cependant, dans la pratique, une conception et une philosophie imparfaites peuvent même entrer dans le noyau Windows, et la gestion de la mémoire par Microsoft n'est pas nécessairement parfaite. Beaucoup ont constaté que le fait de placer le fichier d'échange dans un disque virtuel se traduisait par une augmentation des performances , dans la mesure où vous disposiez d'une quantité de mémoire suffisante.
J'ai compilé un article qui montre une collection d'utilisateurs de ce genre issus du fil de discussion d'un seul forum et qui ont découvert que, malgré des quantités massives de RAM, le fichier d'échange était toujours utilisé:
http://www.overclock.net/t/1193401/why-it-is-bad-to-store-the-page-file-on-a-ram-disk/290#post_23508589
la source
Virtual memory − A paging file is an area on the hard disk that Windows uses as if it were RAM.
Ouais, comme si: pConvertir un système d'exploitation conçu de manière à ne pas utiliser le swap est bien plus difficile qu'il n'y paraît.
Les Mac modernes ont une partition de récupération - une partie du lecteur principal avec un système d’exploitation optimisé qui peut réparer ou restaurer le système principal. Au moment de l'installation du DVD, ils ont exécuté un processus personnalisé et le système crée maintenant un disque RAM pour la partition de swap, car il n'est pas garanti qu'un programme d'installation dispose d'un espace de travail suffisant. Le système d'exploitation inclut les infrastructures nécessaires à l'exécution du logiciel de maintenance inclus, qui est identique aux utilitaires disponibles après l'installation. Beaucoup moins de travail pour tout le monde.
Limiter le système à une application à la fois signifie que le ramdisk-swap n'est jamais utilisé, mais le système d'exploitation s'attend à ce qu'il soit là.
la source
Si vous avez assez de mémoire, la réponse serait oui, vous pouvez désactiver le swap. Swap a été créé pour dépasser les limites de la mémoire RAM et en rendre l’utilisation plus efficace.
La question est maintenant de savoir combien de RAM est assez de RAM? Il n’ya pas de réponse universelle à cela et, par nature, les systèmes ont faim de mémoire. Par conséquent, et sauf si vous utilisez un environnement très spécifique et contrôlé, ne désactivez pas l'échange.
N'importe quel autre type de cascade tel que le swap sur RAM ne fera que créer une couche supplémentaire de complexité et dépenser de la mémoire qui pourrait autrement être utilisée directement.
la source
Mon système dispose de 24 Go de RAM. Pour cette raison, j'ai désactivé le fichier d'échange pour éviter l'usure de mon disque SSD sans aucun problème. J'ai récemment créé un disque RAM, utilisant 4 Go de ma mémoire pour stocker des fichiers Google Chrome Cache, afin de voir si cela augmenterait les performances des jeux Flash Player en ligne et de la navigation sur le Web en général. J'ai vu une augmentation marquée des performances de cette expérience. Comme j'avais plus d'espace disponible sur mon disque virtuel, j'ai activé mon fichier d'échange et défini la taille minimale et maximale à 1 Go, puis je l'ai déplacé sur le disque virtuel. Bien que je ne puisse pas dire qu'il y ait eu une amélioration des performances, mon système semble fonctionner de manière plus stable.
la source
Déplacer le fichier d'échange vers la RAM est une notion ridicule. Désactivez-le et utilisez davantage de RAM. :)
La gestion de la mémoire est gérée par la CPU et l'activation ou la désactivation du fichier d'échange n'a aucune incidence sur le traitement des pages. C'est transparent pour Windows.
La priorité des pages ne change pas, les pages seront ignorées de la même manière. Les fichiers de page sont utilisés par la CPU comme stockage secondaire, pas comme système d'exploitation. Ce n'est rien de plus que le cache de niveau 2 lorsque le niveau 1 (RAM) est épuisé.
Un exemple rapide et très sale: ma machine a 16 Go de RAM et aucun fichier d'échange. Il y a 5 minutes, avec 13 Go en veille et seulement 2 Go disponibles, j'ai chargé Fallout 4. Les pages de faible priorité ont été ignorées au démarrage de Fallout.
En passant, le blog 2008 de Technet sur le dépassement des limites de la mémoire Windows est très trompeur - je dirais même au point d'être trompé. https://i.stack.imgur.com/wXkmi.png Je ne sais pas trop si même Mark l'a écrit, mais j'espère que non, cela changerait ma perspective de lui .....
Fwiw il y a des trous béants dans l'article que je suis stupéfait que personne n'a choisi de considérer combien de fois ce blog a été référé
Quoi qu'il en soit, voici une description pas si vague:
Windows ne peut pas atteindre des adresses plus élevées que le processeur - ce n'est pas possible.
Peu importe ce dont le système d'exploitation est capable, il reste limité par le matériel sur lequel il s'exécute .. car le système d'exploitation est en réalité le processeur lui-même (registres internes).
OK, le fichier d'échange est une zone du disque dur utilisée par la CPU pour l'espace d'adressage physique étendu quand elle ne peut utiliser physiquement ou architecturalement plus de RAM.
Sur une architecture 32 bits x86 segmentée, par exemple, il y a deux segments de 2 Go de RAM.
Un est alloué au noyau. L'autre 2 Go est pour le mode utilisateur. C’est toute la RAM que le processeur peut utiliser avec 32 broches DRAM, mais un processus 32 bits disposant de 4 Go disponible, que faire. Heureusement, le processeur peut utiliser le stockage secondaire AKA sur le disque dur pour stocker les 2 Go supplémentaires de pages. Parce qu'il possède des registres internes
Les emplacements physiques où les pages virtuelles référencées par le processus ne doivent pas être stockés dans la RAM. Mais ils doivent être stockés quelque part par la CPU.
Le processeur ne peut pas donner 4 Go de RAM à l'application, mais il peut lui donner 4 Go d'adresse en utilisant le disque dur comme cache secondaire (c'est-à-dire tout ce que le disque dur est réellement).
Les pages sont déplacées dans et hors de la RAM via son mécanisme de pagination interne, mais ce n'est pas la même chose qu'un fichier d'échange. La pagination se produit toujours ....
La ligne de fond n'est vraiment pas si compliquée. Depuis une quinzaine d'années, de nombreux utilisateurs finaux ont eu l'impression qu'un fichier d'échange faisait partie intégrante du système d'exploitation, mais ce n'est pas le cas. Cela n'a jamais été. Cette idée fausse est en partie alimentée par des sociétés comme Intel et Microsoft.
La RAM est un périphérique de stockage rapide, le disque dur est un périphérique de stockage plus lent. Par conséquent, la RAM est essentiellement un cache de niveau 1 et le disque dur est un niveau 2 (sans tenir compte du cache du processeur pour cette analogie). Les deux sont accessibles par la CPU.
Si la CPU ne dispose pas de suffisamment de RAM pour stocker les pages dont elle a besoin, le disque dur peut être utilisé en tant que débordement. S'il y a beaucoup de RAM, le PF est redondant.
Jusqu'au Core 2, les processeurs Intel disposaient d'un bus DRAM à 32 broches et de 32 registres, ce qui signifie que le processeur avait accès à 4 Go de RAM et à 4 Go d'espace disque dur (fichier d'échange). Il s’agit d’une limitation matérielle architecturale et non d’une limitation Windows.
Le total disponible pour les processus était de 3,5 Go, car une table de pages occupe 512 Mo. C'est pourquoi 3,5 Go apparaissent dans Windows avec les processeurs Intel (jusqu'au Core 2). Ajouter un GPU et encore moins est disponible.
Xeon pouvait accéder à un total de 32 Go de RAM et 64 Go d’espace physique avec disque dur inclus (nouveau fichier d'échange). ( Ceci ^ couvre PAE, plus à venir avec des liens ajoutés ).
http://www.windowsdevcenter.com/pub/a/windows/2004/04/27/pagefile.html
Troisième source de capture d'écran: Interface binaire d'application à System V Supplément de processeur d'architecture AMD64 Version préliminaire 0.99.7
J'ai l'intention de continuer à améliorer cette réponse et à ajouter du matériel source et des informations pertinentes. Je voudrais atteindre un équilibre entre pas assez d'informations et trop d'informations techniques. Les suggestions sont les bienvenues. S'il vous plaît, ne votez pas parce que le texte n'est peut-être pas si bien écrit.
la source