Mon ordinateur de travail (Windows 7 64 bits) passe beaucoup de temps à permuter la mémoire lorsque je change de programme. Cela me surprend car j'ai 4 Go de RAM, et les programmes que j'utilise n'ont pas particulièrement faim (Outlook, Emacs, p4win, Firefox, divers outils de build). J'ai téléchargé RAMMap , et cela montre plus d'un gigaoctet de mémoire utilisé par "Metafile".
Du blog de Sysinternals :
Le métafichier fait partie du cache système et se compose de métadonnées NTFS. Les métadonnées NTFS incluent le MFT ainsi que les autres divers fichiers de métadonnées NTFS. ... Dans la MFT, chaque enregistrement d'attribut de fichier prend 1k et chaque fichier a au moins un enregistrement d'attribut. Ajoutez à cela les autres fichiers de métadonnées NTFS et vous comprendrez pourquoi la catégorie Métafichier peut devenir assez volumineuse sur des serveurs contenant de nombreux fichiers.
Je comprends donc ce que sont les données du "métafichier" ... Je travaille sur de grandes versions comprenant des centaines de milliers de fichiers (aucun n'est si gros, mais elles totalisent plusieurs gigaoctets). Ma question est de savoir comment puis-je réduire la quantité de mémoire utilisée par "Metafile"? Je n'utilise pas activement tous ces fichiers à la fois, alors pourquoi Windows a-t-il besoin de conserver les informations dans la RAM? Redémarrer ma machine chaque fois que je synchronise une nouvelle version est vraiment ennuyeux.
Réponses:
Je pense que le cache système libère sa mémoire en cas de besoin, mais des problèmes peuvent survenir. Voici quelques possibilités.
Votre système 64 bits alloue la mémoire vidéo dans les 4 premiers Go de mémoire. Donc, si votre carte vidéo a beaucoup de mémoire, cette mémoire est perdue, comme décrit dans:
La mémoire utilisable peut être inférieure à la mémoire installée sur les ordinateurs Windows 7
Vous pouvez examiner l'utilisation de la mémoire sur l'ordinateur en ouvrant le Gestionnaire de périphériques et dans le menu Affichage, choisissez "Ressources par connexion". Développez le nœud Mémoire et voyez si vous pouvez déterminer ce qui, le cas échéant, occupe la mémoire. Dans certains cas, la mémoire peut être augmentée en désactivant les périphériques inutilisés tels que le FireWire.
Vous pouvez également essayer de faire exactement le contraire de ce qui est décrit dans cet article:
augmenter la taille du cache de mémoire FileSystem dans Windows 7
Vous pouvez également essayer de désactiver Windows 7 SuperFetch .
Si rien n'y fait, il vous serait utile de publier une capture d'écran de l'onglet Gestionnaire des tâches nommé Performances.
la source
Windows Server 2008 R2 rencontre exactement le même problème de «cache» de métafichier, car trop d'informations sur le métafichier sont conservées dans la mémoire active, de sorte que les fonctions de cache n'ont pas l'autorisation d'autoriser la libération de cette mémoire en cas de pression de mémoire.
J'ai écrit un script PowerShell sur la page serverfault.com Utilisation de la RAM du métafichier Windows Server 2008 R2 qui définit la mémoire active maximale du métafichier à quelque chose de raisonnable. Le reste est déplacé vers la mémoire de secours, et les fonctions de cache normales peuvent alors hiérarchiser les choses de manière appropriée. Windows 7 x64 et Server 2008 R2 x64 ont tous deux des limites maximales de mémoire active par défaut pour les données de métafichier de 1 To. Oui TB, pas GB.
Work exécute maintenant ce script sur tous nos sites sur nos serveurs qui organisent les sauvegardes du site, qui traitent quotidiennement des millions de fichiers pendant son cycle de sauvegarde. Ces serveurs de sauvegarde exécutent également un programme Java gourmand en mémoire (VMware vSphere), 2 serveurs SQL et WSUS avec son propre serveur SQL. Le logiciel de sauvegarde lisant d'abord les métadonnées (nom, taille, date de modification, autorisations, attributs, etc.) pour déterminer la liste des fichiers qu'il sauvegardera et qui le transmet TRÈS rapidement remplit le cache du métafichier. Même en faisant tout cela, ils naviguent bien avec seulement 4 Go de RAM.
la source