J'ai 32 Go de RAM et je lance un système d'exploitation Windows 7 x64.
Lorsque je démarre le PC, il utilise environ 1,5 Go de RAM.
Je le lance (avec un logiciel, principalement des navigateurs et des scripts, sur une période de certains jours, alors que le PC n'est pas redémarré) jusqu'à 20-25 Go de RAM.
Je décide de tout fermer et de ne maintenir que le logiciel qui commence par Windows (pare-feu, AV, etc.) et je découvre que le PC utilise 4 à 7 Go de RAM, en ce moment.
Pour quoi? Il n'y a rien que la RAM a faim dans le gestionnaire de tâches.
J'ai joint des captures d'écran.
J'ai ajouté une autre photo:
Voici la capture d'écran RamMap:
windows-7
memory
memory-leaks
pseudo
la source
la source
Réponses:
Lorsqu'un système n'est pas sous pression mémoire, il n'y a aucun avantage à avoir de la mémoire libre supplémentaire. En fait, il y a au moins deux inconvénients importants à avoir plus de RAM libre. Premièrement, si la RAM est libre, elle doit être libérée pour pouvoir être utilisée, ce qui représente un effort supplémentaire. Deuxièmement, si la mémoire RAM est libre, si le système a besoin des informations qu’il détenait auparavant, elles doivent être recalculées ou lues à nouveau sur le disque. Donc, la RAM libre est mauvaise .
Si vous pensez "Je veux que ma RAM soit libre maintenant pour pouvoir l'utiliser plus tard", c'est idiot. La RAM peut être utilisée maintenant et utilisée plus tard. Avoir la RAM utilisée maintenant rend plus facile son utilisation ultérieure, pas plus difficile.
La majeure partie de votre RAM contient des données de fichier et des métadonnées de système de fichiers NTFS (c'est ce que "métafichier" signifie). Cela accélérera les prochains accès aux fichiers. Si cela est nécessaire à d'autres fins, Windows le remplacera directement vers cet objectif sans les étapes supplémentaires inutiles consistant à libérer de la mémoire RAM, juste pour avoir à annuler plus tard cet effort et à le réutiliser.
la source
Basé sur la capture d'écran RAMMap, je peux voir que les métadonnées sont extrêmement élevées. Ceci est le cache du système de fichiers. MS a expliqué cela ici dans un article de blog .
Ils fournissent un service où vous pouvez limiter la taille du cache de manière dynamique. Vous pouvez télécharger le service à partir du Downloadcenter .
Vous pouvez définir une limite fixe avec cet outil:
http://www.uwe-sieber.de/ntcacheset_f.html
De plus, le pool paginé et non paginé est trop élevé. J'ai expliqué ici comment localiser les pilotes qui utilisent la mémoire .
la source