Est-ce que mettre le dossier swapfile & temp sur le disque virtuel est une bonne idée dans Windows 7 64 bits avec beaucoup de RAM?

16

Je veux que mon Windows fonctionne aussi vite que possible. Si j'ai 12 Go de RAM dans Windows 7 64 bits, un processeur quad core et toutes les applications tiennent en mémoire, le fichier d'échange sera-t-il utilisé pour quelque chose? La question est de savoir si c'est une bonne idée de mettre le fichier d'échange dans un disque RAM.

Un disque RAM aiderait-il de quelque façon que ce soit ou Windows utilisera-t-il intelligemment toute la mémoire disponible pour tout son travail?

Je pense également à mettre le dossier temporaire sur un disque RAM. Je sais que le disque RAM est une mémoire volatile et je me fiche de son contenu s'il se perd.

Tony_Henrich
la source
Le titre m'a fait rire un peu, mais en fait, si [..] toutes les applications tiennent en mémoire, le fichier d'échange sera-t-il utilisé pour n'importe quoi est une bonne question!
Arjan
Le fichier d'échange - ce n'est pas un "fichier d'échange" - sera utilisé si nécessaire pour permettre aux programmes d'allouer l'espace d'adressage virtuel au-delà de ce que la RAM seule permettrait. Cela est nécessaire même si, après l'allocation, ils n'utilisent réellement que la quantité qui serait adaptée à la RAM.
Jamie Hanrahan

Réponses:

7

Je suis d'accord que mettre le fichier d'échange sur un disque virtuel n'a pas de sens pour un système d'exploitation 64 bits. Cependant, si l'on a WinXP 32 bits, Windows ne peut "voir" que les premiers 3,5 Go de RAM. Si l'on a plus de RAM, disons 9 Go, la RAM supérieure à 3,5 Go est complètement gaspillée par WinXP. Cependant, en utilisant un programme tel que SuperSpeed ​​RamDisk Plus, on peut utiliser la mémoire supérieure à 3,5 Go en tant que ramdisk - et placer le fichier d'échange là-bas a énormément de sens (encore une fois, sur XP 32 bits, pas Win7 64 bits) ).

Séparément, mettre des fichiers temporaires dans un disque virtuel est presque toujours logique, en termes de performances, à moins que la taille prévue n'entrave trop la RAM disponible pour le système d'exploitation.

Floont Artney
la source
6

Mettre le fichier d'échange sur un disque virtuel est une idée ridicule. Vous devez comprendre que seule une fraction de la pagination totale impliquera le fichier d'échange. La plupart de la pagination se fera avec des fichiers exécutables et d'autres fichiers mappés, et un fichier d'échange en RAM ne fera rien pour améliorer ces performances. Et grâce au ram système réduit disponible, il y aura plus de cette pagination. Le résultat est que l'accès au fichier d'échange sera plus rapide mais les niveaux globaux de pagination seront plus élevés avec une réduction des performances.

user43161
la source
4

Je ne dirais pas ridicule; ni pour les systèmes 32 ou 64 bits.

Pour commencer, les fenêtres 32 bits (la majorité des systèmes en cours d'exécution) ignorent simplement tout ce qui dépasse 4 Go. Les Ramdisks pouvant utiliser PAE et l'adressage mémoire 36 bits, ils sont à ma connaissance le seul moyen de rendre les zones de mémoire élevée utiles dans les systèmes 32 bits.

La question est: comment utiliser un disque dur virtuel ultra rapide / plus sécurisé? Les fichiers temporaires viennent à l'esprit et sont assez simples à configurer, tant que vous savez comment attribuer une lettre de lecteur fixe dans Windows. Même chose avec le cache des navigateurs. L'intérêt pour ceux-ci est quadruple:

  • Accès / récupération les plus rapides
  • Véritable suppression
  • Supprime la plupart des usures inutiles sur une mémoire SSD coûteuse.
  • Moins de fragmentation du disque ..

Quant au fichier d'échange, il semble évident que les systèmes 32 bits ont beaucoup à gagner à les placer dans la RAM non réclamée. On pourrait penser à un programme gourmand en mémoire, utilisant jusqu'à 3 Go sur lui-même (avec le commutateur de 3 Go dans boot.ini) qui causera très probablement beaucoup d'échanges. Deux des mêmes bonus s'appliquent toujours: la suppression réelle et l'usure du SSD. La fragmentation est moins un problème avec les fichiers d'échange.

Il y a plus: il est assez fréquent que des programmes mal écrits utilisent la mémoire virtuelle, quelle que soit la quantité de mémoire physique disponible, ce qui entraîne un accès inutile au disque. Cela est vrai pour les programmes 32 ET 64 bits. J'ai même rencontré des programmes qui ne pourront tout simplement pas être lancés en l'absence d'un fichier d'échange.

En fin de compte, même s'il est logique d'avoir un disque virtuel inférieur à 4 Go et d'économiser l'accès au disque inutile pour le dossier temporaire et la mise en cache des programmes, il semble de loin préférable d'installer plus de 4 Go, le prix de la mémoire étant ce qu'il est, dans les deux 32 ( avec du matériel compatible PAE) ET des systèmes 64 bits et y déplacer le fichier d'échange.

Il convient de noter que BEAUCOUP d'utilisateurs professionnels d'ordinateurs ne peuvent toujours pas passer au 64 bits pour des raisons de prise en charge matérielle.

Ce qui serait ridicule, pour utiliser le même langage fort que ci-dessus, serait de simplement rejeter l'idée et de s'appuyer non seulement sur la gestion de la mémoire virtuelle de Microsoft (qui est louée à juste titre), mais également sur les programmeurs d'applications qui vont du gourou du codage d'assemblage à l'idiot de langage de haut niveau qui mettra à genoux le PC le plus agréable et le plus stable juste en raison d'une mauvaise gestion de la mémoire. J'ai vu un tel code dans les programmes traditionnels, les applications de productivité, je ne vous moque pas!

Mon système principal a un ramdisk de 8 Go sur XP / 32 et cela s'est avéré utile. C'est assez trivial à configurer et je dois dire que le seul programme qui m'a donné du fil à retordre est google chrome dont la stratégie d'installation / mise à jour est difficile sur le tweaker.

Vous pouvez penser à une grande utilité pour les disques virtuels en dehors de ceux-ci; dans mon cas, des échantillons audio à récupérer à partir du disque sur des applications en direct: mettez-les là au démarrage (douloureusement lent) et obtenez un accès rapide comme l'éclair à des bibliothèques multiGB. Mais c'est loin du sujet :)

Ceci est ma propre expérience. Je souhaite que les gens ne détruisent pas la valeur des informations utiles en utilisant un langage fort inutile. Ridicule était pour le moins un mauvais choix de mots dans ce contexte.

user102648
la source
3

Oui, les fichiers de pagination sont utilisés même si l’on a beaucoup de RAM; mais la simple existence d'un fichier d'échange n'est pas en soi un facteur affectant les performances du système . De plus, mettre un fichier d'échange sur un disque RAM est idiot. Le point vers un fichier de pagination, après tout, doit être un endroit pour conserver les données de page (transitoires) lorsque ces données ne sont pas actuellement dans la RAM . Les disques RAM sont en RAM…

Le placement de fichiers temporaires sur un disque RAM est une toute autre marmite de poisson, bien sûr.

JdeBP
la source
1
Ce message n'explique pas pourquoi le système d'exploitation doit afficher quelque chose si le système a des tonnes de RAM et peut TOUT TOUT. Le but de la pagination est de faire de la place pour des processus plus importants, mais si la mémoire peut contenir des éléments transitoires, nouveaux et anciens et rarement utilisés et quoi que ce soit en mémoire, pourquoi ne pas tout garder en mémoire vive? Quant aux décharges, je m'en fous. Je ne peux pas les lire ou les comprendre, alors ils pourraient tout aussi bien être supprimés et ne prennent pas la peine de les enregistrer, sauf si je les envoie à MS pour analyse.
Tony_Henrich
L'autre article auquel il se réfère a également le caractère habituel: "certains" programmes "peuvent" échouer, sans jamais spécifier quels programmes sont réellement, ou comment ils peuvent échouer.
RolKau
@Tony, les vidages sur incident sont difficiles à lire et à interpréter pour une personne normale, mais si vous installez les outils de débogage de Microsoft, ils peuvent être très instructifs pour comprendre pourquoi un BSOD s'est produit. Si votre ordinateur ne tombe jamais en panne, alors bien sûr, cela n'est pas pertinent, mais j'ai trouvé les vidages sur incident extrêmement utiles dans le dépannage des ordinateurs en panne dans le passé, alors ne les rejetez pas complètement.
nhinkle
2
@Tony_Henrich "pourquoi ne pas tout garder dans ram" => parce que s'il y a quelque chose qui n'est jamais (ou très rarement) accessible assis dans la RAM, cela gaspille cet espace. Cet espace pourrait être mieux utilisé pour mettre en cache les fichiers auxquels on accède souvent, offrant une amélioration nette des performances. Tout espace RAM physique non activement utilisé par le code du programme ou les données peut être utilisé par le système d'exploitation pour mettre en cache les fichiers - c'est aussi pourquoi ce n'est pas une bonne chose de fonctionner à proximité de votre capacité totale de RAM.
Bob
La plupart des gens qui prétendent que "le système a des tonnes de RAM et peut tout contenir" n'ont jamais regardé l'utilisation totale de l'espace d'adressage virtuel sur leur machine.
Jamie Hanrahan
1

Je doute que vous verriez beaucoup de différence en déplaçant votre fichier d'échange vers ramdisk. Si vous souhaitez forcer Windows à utiliser RAM, vous pouvez désactiver le fichier d'échange.

Cependant, j'ai remarqué une grande différence en déplaçant mes fichiers temporaires IE vers un ramdisk et en définissant mes variables environnementales TEMP et TMP pour pointer vers le ramdisk.

J'exécute également Google Chrome avec l'indicateur "-user-data-dir =" R: \ ChromeTEMP "afin qu'il stocke les fichiers temporaires sur le disque virtuel. Cela lui fera oublier vos paramètres. Mais puisque j'utilise la fonction de synchronisation, il ne l'a pas fait ' Cela m’a beaucoup affecté. Après la synchronisation initiale, tout est revenu à la normale. Et les écrans de chargement de skyrim sont plus courts après avoir lié des copies de certains fichiers sur mon disque virtuel.

Andrew
la source
Se débarrasser de votre fichier d'échange (ou le mettre sur un disque RAM) ne "force pas Windows à utiliser la RAM". Il existe des centaines d'autres fichiers utilisés pour la pagination et Windows continuera de paginer vers et depuis ceux-ci.
Jamie Hanrahan
0

Windows continuera d'utiliser le fichier d'échange, ce qui (à ma grande confusion, car j'ai une configuration identique) n'avait aucun sens pour moi. Cependant, après avoir désactivé le fichier d'échange, je n'ai vu aucune amélioration réelle des performances. Depuis, j'ai recommencé à utiliser un fichier d'échange, car Windows l'utilise pour d'autres choses que la mémoire virtuelle (je pense qu'il y écrit également des vidages sur incident, lorsque vous bluescreen) dont j'ai besoin. J'ai également soufflé plusieurs fois sur mes 12 Go de RAM et j'étais reconnaissant d'avoir eu la marge de manœuvre.

En bref, Windows utilisera toujours le fichier d'échange, mais vous ne devriez pas le remarquer comme un impact sur les performances.

En ce qui concerne les fichiers temporaires, le déplacement de ceux-ci vers un disque RAM devrait augmenter leur vitesse d'accès, mais assurez-vous que vous n'aurez rien besoin d'y persister pendant un redémarrage / crash et que le pilote du disque virtuel se charge et crée le disque virtuel avant toute application ou le système doit utiliser le dossier temporaire.

Dark Android
la source
Je pense que les mini vidages sont enregistrés dans un dossier spécial sous Windows. Je ne suis pas sûr des vidages complets, mais ils sont peut-être enregistrés dans le fichier d'échange. Mais cela ne me dérange pas de mettre un fichier d'échange dans un lecteur non root. J'espère simplement que Windows est suffisamment efficace pour utiliser autant que possible le ram disponible et utiliser le fichier d'échange uniquement lorsque cela est absolument nécessaire.
Tony_Henrich
@Tony: Ils sont enregistrés dans le fichier d'échange jusqu'au redémarrage, moment auquel ils sont enregistrés dans le dossier Minidump sous% SYSTEMROOT%.
Hello71
1
MS déclare que la désactivation du fichier d'échange réduira très probablement les performances, même dans les systèmes à mémoire élevée. La gestion de la mémoire des OS est conçue autour de l'échange.
Keltari
Notez qu'il est possible de faire à la place Windows préparer des vidages sur incident dans un fichier dédié, ce qui évite d'avoir suffisamment d'espace libre / fichier d'échange sur le lecteur système pour stocker les données de vidage; voir Comment utiliser la valeur de registre DedicatedDumpFile pour surmonter les limitations d'espace sur le lecteur système lors de la capture d'un vidage de mémoire système - Blog
Ntdebugging
0

Ce n'est en fait pas une mauvaise idée à mon avis.

Logiquement, les gens comprennent mal «fichier d'échange» ou plus correctement «échange de fichier» comme RAM. Il est vrai que le fichier d'échange contient des données similaires à celles de la RAM. Mais Windows n'utilise pas cela comme la RAM. Comme vous le voyez aujourd'hui dans le monde multitâche en pleine croissance dans lequel nous vivons, Windows a été conçu à l'époque pour gérer la quantité limitée de RAM en écrivant constamment entre le fichier d'échange et la RAM.

Le fichier d'échange est toujours utilisé par Windows car le gain de performances est plus visible sur les ordinateurs plus lents plus anciens avec peu de programmes en cours d'exécution. Lorsque vous ouvrez une fenêtre, le programme est échangé dans la RAM, lorsque vous y travaillez.

Disons que vous écrivez une lettre dans Word. Si vous venez de démarrer ce programme avec de nombreux programmes \ windows en arrière-plan, il a tendance à être lent, mais s'exécute plus en douceur après quelques secondes. Ensuite, lorsque vous basculez vers Internet Explorer, il s'exécute lentement, puis devient plus rapide car il était dans le fichier de page, puis échangé en RAM, tandis que tous les processus d'arrière-plan sont chargés dans le fichier de page.

Présentons maintenant le disque RAM à Windows. Placez le fichier d'échange sur le disque virtuel au lieu du disque dur et vous avez amélioré la capacité de Windows à effectuer plusieurs tâches, car la RAM est plus rapide que le disque dur / disque dur. Cependant, cela n'aidera pas sur un système plus ancien, sauf si vous achetez un lecteur de RAM physique - et vous devrez peut-être définir à nouveau le fichier d'échange dans Windows car sans alimentation, il sera supprimé.

Les fichiers d'échange deviennent très inutiles pour les PC plus récents avec 8, 16, 32, 64 Go de RAM.

Adam R.
la source
3
La question est toujours de savoir pourquoi Windows échangerait quoi que ce soit s'il y a suffisamment de mémoire pour tout contenir. ce n'est pas comme si la mémoire «se fatiguait» de tenir les applications et avait besoin d'une pause.
Tony_Henrich
En fait, "fichier d'échange" est plus correct que "fichier d'échange"; techniquement, l'échange est l'endroit où vous envoyez TOUTE la mémoire d'un processus donné vers un stockage secondaire ...
SamB
Pourquoi: parce qu'il est agressif de recadrer le "jeu de travail". Mais ce n'est pas vraiment permuté sur et est tiré vers l' arrière en cas de besoin sans avoir à lire le disque.
JDługosz du
"le fichier d'échange est toujours utilisé par Windows " - incorrect. Même s'il arrive à utiliser le fichier d'échange, il y écrit des choses qu'il est décidé, pour une bonne raison (comme si vous ne l'avez pas touché depuis longtemps), que cela ne vaut pas la peine de le garder dans la RAM. Pourquoi pensez-vous avoir plus d'informations sur ce qu'il faut conserver dans la RAM que Windows? Quoi qu'il en soit, comme d'autres l'ont dit, mettre un fichier d'échange dans la RAM, c'est comme vous accorder un prêt, puis vous rembourser à même le produit du prêt. Vous n'avez plus d'argent, vous venez de dépenser beaucoup d'efforts inutiles.
Jamie Hanrahan
0

La plupart d'entre vous, sceptiques, oubliez la limite de RAM Windows 32 bits et ne savent pas que vous ne pouvez pas mettre plus de code et de données dans la RAM que les 3,5 Go. Ou, vous croyez simplement que nous essayons de "couper", disons 2 Go sur les 3,5 Go accessibles - pour un fichier d'échange rapide, avec le coût de la réduction de la mémoire disponible à 1,5 Go. C'est certainement inutile, mais ce n'est pas notre idée . Notre idée est dédiée aux utilisateurs de Windows 32 bits, qui possèdent des PC avec PLUS de RAM que cette limite lancinante de 3,5 Go. Par exemple, une machine équipée de 8 Go, exécutant XP ou Vista 32 bits ou 2003.

Lorsque vous travaillez dur avec de nombreuses applications simultanément, le système est souvent confronté à une condition de mémoire épuisante. Pour éviter les erreurs critiques, le système est obligé de stocker certaines données des applications exécutées en arrière-plan dans le fichier d'échange. En général, cela signifie écrire des dizaines et des centaines de Mo sur le disque dur. Et rappelez-vous - cela arrive souvent, lorsque vous utilisez vraiment le multitâche (de nos jours, ainsi que des applications consommatrices de mémoire). Et lorsque vous obtenez une application d'arrière-plan au premier plan - un autre lot de données de la RAM doit aller sur le disque dur, juste pour libérer de l'espace dans la RAM pour que le lot précédent revienne du disque dur (cette fois, en écrivant et en lisant de nombreux Mo du lecteur de disque). Observez simplement votre voyant d'activité rouge du disque dur - il s'allume plus qu'il ne reste éteint (votre disque dur fonctionne très dur).

Imaginez maintenant toutes ces opérations redirigées vers EXDRA RAMdisk (RAM supplémentaire, au-delà de la zone de mémoire opérationnelle du système qui reste la même en taille - maximum).

  • De cette façon, il fonctionne 1000 fois plus rapidement (opérations RAM par rapport au disque dur), donc le temps de permutation devient marginal;
  • Votre disque dur fonctionne beaucoup moins que d'habitude, il devient silencieux, frais et la durée de vie s'allonge remarquablement.

Je ne pense pas que ce serait inutile en termes de performances, sans parler de la fiabilité du disque dur.

OK, la plupart des machines construites à l'ère XP n'étaient pas basées sur des cartes mères capables de prendre en charge plus de 4 Go de RAM. Je comprends donc qu'il y a peu de gars qui se soucient vraiment / ont besoin et comprennent l'idée. Mais maintenant...

BIENVENUE À L'ÈRE DE LA VIRTUALISATION! De plus en plus d'entre vous ont la chance de posséder une machine avec beaucoup de RAM. Un débutant peut configurer son système hôte pour attribuer 4 Go à l'invité Windows 32 bits et avoir encore beaucoup de RAM. Il serait alors très précieux de l'enrichir d'un disque RAM de 4 Go, affecté au même OS invité, dédié au fichier d'échange sans frais d'espace RAM invité!

Un serveur que je supervise a 12 Go. Au lieu d'acheter un nouveau système (64-2008 plus CAL!), Je pourrais attribuer 8 Go pour l'invité - 32-2003 virtuel et essayer de tester les logiciels RAMdisks. Cependant, je ne leur fais pas confiance car ils semblent être des hacks et je n'aime pas prendre de chance sur la stabilité. C'est pourquoi je cherche une solution pour préparer le Ramdisk Linux de mon hôte en tant que périphérique de bloc et le formater en FAT ou NTFS afin de le rendre acceptable pour le disque virtuel du système d'exploitation invité, pour y mettre le fichier d'échange. Je crois que mon serveur augmenterait et économiserait beaucoup d'efforts sur le disque.

Où ai-je tort? Salut!

Slawek
la source
1
Bon point sur la virtualisation, mais sans virtualisation, un disque virtuel ne vous permet pas d'accéder à plus de RAM que vous ne pouvez en traiter normalement. Sans PAE, cela représente environ 3,5 Go, mais NT 4.0, win2k et les éditions pro / serveur de xp prennent en charge PAE, permettant jusqu'à 64 Go de RAM. Étant donné que vous pouvez utiliser tout ce ram, il est préférable de laisser le système l'utiliser comme bon lui semble, y compris pour la mise en cache des fichiers, plutôt que de l'allouer à un ramdisk, ce qui limite le système à ne l'utiliser que pour contenir des pages privées échangées , qui n'inclut pas les fichiers programme et les données de fichier mis en cache.
psusi
Cela ressemble à une diatribe.
bwDraco
Si le système d'exploitation a décidé qu'un ensemble particulier de données ne vaut pas la peine d'être conservé dans la RAM, plutôt de le mettre dans le fichier d'échange ... pourquoi pensez-vous que vous disposez de suffisamment d'informations pour dire "non, conservez-le dans la mémoire RAM" en plaçant votre fichier d'échange sur un RAMdisk?
Jamie Hanrahan
0

En ce qui concerne le dossier temporaire, le déplacer vers un disque virtuel augmenterait la vitesse.

Cependant, il y a des choses à noter:

  • une perte de puissance signifierait une perte de données
  • toutes les applications n'utilisent pas le dossier temporaire fourni par Windows, certaines utilisent leur propre
  • si le dossier temporaire manque d'espace, les applications ou Windows peuvent se bloquer
Keltari
la source
0

Les Ramdisks sont utiles pour des choses comme le cache Internet rapide d'IE, Chrome et Firefox, etc.
Mettre le fichier d'échange sur un Ramdisk dans un système 64 bits est inutile.

DisablePagingExecutive pourrait mieux répondre à ces besoins. Mais mettre le fichier d'échange sur un Ramdisk dans un environnement 32 bits avec plus de 4 Go de Ram est une énorme amélioration. Cependant, si votre ordinateur est un processeur monocœur (un seul selon le gestionnaire de tâches), il y aura une amélioration (je ne me souviens pas exactement de combien, cela fait longtemps). Mais vous devez également définir ClearPagefileAtShutdown pour vous débarrasser de l'erreur au prochain redémarrage car le fichier d' échange ne sera pas là.

La meilleure utilisation d'un Ramdisk à laquelle je peux penser est de mettre en miroir votre dossier de fichiers de programme (ou de sélectionner des programmes) dans le Ramdisk.

Ben
la source
DisablePagingExecutive désactive uniquement la pagination de l'exécutif . La pagination de tout ce qui serait normalement paginé se produit toujours.
Jamie Hanrahan