Comment diagnostiquer / découvrir des problèmes liés à la mémoire si Task Manager semble ne pas signaler correctement?
Je dois avoir une fuite de mémoire ou autre chose - Je n'utilise que 75% de mes 12 Go de mémoire, mais la liste des gestionnaires de tâches qui utilisent la mémoire des processus ne s'additionne pas (oui, "Afficher les processus de tous les utilisateurs" est cochée ).
Il semble que l’utilisation de la mémoire "fantôme" croisse avec le temps depuis lequel le système est en fonctionnement. Cela montre qu'il y a 118 processus au total. Outre le top 5, ils ont tous une taille inférieure à 50 Mo.
Le processus en haut est firefox, utilisant 2,6 Go. Adobe Premiere à 900 MB. Conteneur de plugins à 300 MB. Lune pâle à 275 MB. Explorer.exe à 94 MB.
Comment dans le monde puis-je trouver ce qui utilise le reste de ma mémoire? Il semble que le Gestionnaire des tâches ne voit pas tout ce qui est utilisé. Peut-être y a-t-il une sorte de fuite de mémoire? Ou programme ne libère pas correctement la mémoire utilisée?
Rapports du moniteur de ressources (cliquez pour agrandir):
REMARQUE:
- Comme mon lecteur principal de système d'exploitation est un SSD, SuperFetch est désactivé sur mon système.
- Et je comprends que le principe selon lequel un bélier inutilisé est un "bélier", pour ainsi dire. Cependant, quand je vois que mon utilisation de la mémoire est presque utilisée au maximum de sa capacité, cela m’empêche d’exécuter / de charger des programmes ultérieurs (de mon propre chef), et m’envoie même une tâche pour en fermer beaucoup (avec à peine un effet moindre sur la réduction de l’utilisation de la mémoire, au moins sensiblement et dans un court laps de temps).
- Quand la mémoire est pleine, je déteste voir le fichier de 1 Go sur mon disque SSD s'étendre à la limite de 6 Go que j'ai définie, et me "transpirer" en sachant que mon "mauvais" SSD est probablement en train de fondre sous la poussière alors que Windows / se tourne brusquement vers son utilisation en tant que clé de mémoire à part entière. (Sur cette note, dois-je simplement caler le fichier d'échange sur un fichier statique de 1 Go?)
la source
Réponses:
Vous pouvez généralement mieux comprendre l’utilisation de votre mémoire avec des outils tels que RamMap .
Cliquez pour agrandir
Souvent, la mémoire peut être utilisée par des fichiers mappés en mémoire qui ont été extraits dans la RAM pour améliorer les performances.
Prenez note de la colonne Actif dans RamMap. C’est la mémoire actuellement utilisée. Les indicateurs concernant la mémoire libre peuvent souvent être trompeurs. Cela inclut des outils Windows tels que le gestionnaire de tâches.
Plus d'informations
Je voulais aussi aborder quelques points supplémentaires de votre question.
Votre raisonnement va parfaitement bien. Toutefois, à moins que vous ne rencontriez des problèmes liés à une mémoire insuffisante, évitez cette pratique. Le système d'exploitation doit gérer cette tâche et vider les données du fichier d'échange si une mémoire physique est requise.
Vous utilisez peut-être également le mauvais indicateur pour votre pratique. Vous voulez avoir un œil sur votre charge de validation ( terminologie de Process Explorer ).
La charge de validation est la somme de toute la mémoire utilisée. Vous pouvez voir sur la capture d'écran qu'il y a aussi une limite. Cette limite est la taille de ma mémoire physique + la taille de mon fichier d'échange. Si cette limite devait être atteinte, ce serait un problème.
Ce qui nous amène à notre prochain sujet.
À mon avis, il y a plusieurs choses qui ne vont pas ici. En général, il est fortement déconseillé de définir des limites pour la taille du fichier d'échange. Mark Russinovich explique cela dans les vidéos que j'ai liées ci-dessus (bien mieux que je n'aurais pu le faire).
Seules les mauvaises choses peuvent en découler. Qu'est-ce que Windows est censé faire lorsqu'il doit vider plus de 6 Go de données dans le fichier d'échange, mais que vous l'avez limité à 6 Go? C'est un problème majeur.
Laissez Windows gérer le fichier de pagination. La seule chose que je vous conseillerais fortement de faire est de déplacer le fichier de pagination de votre SSD. Tom Wijsman l'explique très bien dans son billet de blog Maximisant la durée de vie de votre disque SSD , que je vous recommande de lire.
la source
Dans mon cas, l'utilisation de la mémoire haute était due à une machine virtuelle hyper-v pour laquelle les paramètres de mémoire dynamique étaient activés pour la RAM.
L' outil RamMap m'a aidé à localiser la cause.
Tout d'abord, j'ai remarqué dans RamMap que Driver Locked consommait plus de 29 Go de mémoire vive de 32 Go. Ensuite, j'ai trouvé un article expliquant que l'utilisation de la mémoire dynamique HyperV activée peut entraîner une utilisation intensive de la mémoire par le pilote, ce que je viens de confirmer.
la source
Si vous voyez que la capture ne montre pas tout le processus et que le processus affiché prend lui-même 5,8 Go de mémoire. de la photo montre il montre qu'il y a beaucoup de programmes d'arrière-plan inutiles sont en cours d'exécution. En utilisant msconfig, supprimez les programmes de démarrage inutiles et augmentez également votre mémoire virtuelle (1,5 fois votre mémoire physique).
la source
Vous pouvez essayer RAMMAP de Sysinternal, mais il montre l'utilisation de la mémoire d'une manière différente de celle de Task Manager & Resource Manager et n'est donc pas très utile.
Le Gestionnaire des tâches et le Moniteur de ressources n'affichent ni le fichier de cache ni sa taille. Cela fait partie de la partie "en cours d'utilisation" de la mémoire (voir Moniteur de ressources). Le cache de fichiers peut atteindre une très grande taille, en particulier lorsque l'ordinateur est utilisé pendant des heures. L'utilisation globale de la mémoire du programme augmente avec le temps, en raison de la croissance du cache de fichiers et des fuites de mémoire. Certains programmes ont simplement une gestion de mémoire moche.
Une façon de minimiser l'utilisation de la mémoire consiste à réduire le nombre de processus. (Pourquoi les processus 118 sont-ils en cours d'exécution? Pourquoi plusieurs instances de Explorer.exe sont-elles en cours d'exécution?)
Il existe un programme qui vous aide à réduire régulièrement l'utilisation de la mémoire et à réduire régulièrement le cache de fichiers. (CLEANMEM de PcWinTech). Cette réduction de l'utilisation de la mémoire réduit également, voire élimine, le besoin pour Windows d'écrire des données provenant de la mémoire dans le fichier d'échange (sur votre SSD). Cela augmente donc la durée de vie de votre disque SSD. En réduisant l'utilisation de la mémoire, vous disposez également d'une plus grande quantité de mémoire «en attente», ce qui permet à Windows de précharger davantage de fichiers dans la mémoire en attente, ce qui accélère votre système.
la source
RAMMap a montré que le
C:\Windows\SoftwareDistribution\DataStore\DataStore.edb
fichier mappé gaspillait 400 Mo de ma précieuse mémoire vive de 4 Gb.De plus, Windows Update ralentissait constamment le système en cours de mise à jour de cet énorme fichier.
Cela peut être un problème courant pour de nombreux ordinateurs bas de gamme.
Voir PC Boots écrit ensuite un fichier géant datastore.edb ralentissant l’ordinateur pour une résolution éventuelle.
la source