Comment trouver ce qui consume toute la mémoire de mon système? (pas SuperFetch)


62

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):

Impression du moniteur de ressources

REMARQUE:

  1. Comme mon lecteur principal de système d'exploitation est un SSD, SuperFetch est désactivé sur mon système.
  2. 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).
  3. 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?)

4
juste une remarque: la RAM utilisée n’est pas une mauvaise chose en soi. la mise en cache intelligente des choses accélère souvent les choses. si vous n'avez pas un problème du genre "omg, programme xyz démarre si lentement que je peux à peine le supporter car il doit jeter d'autres choses hors du bélier" ... alors ce n'est peut-être pas un problème du tout.
Akira


Merci, mais comme SuperFetch est désactivé sur mon système (avec le lecteur principal du système d'exploitation SSD), la question est différente. Mise à jour de la question d'origine.
Coldblackice

@Coldblackice Ce n'est pas parce que la réponse (non acceptée) ne vous aide pas que ce n'est pas la même question. Le PO de l’autre question a même déclaré que le fait de changer SuperFetch n’a pas aidé. :)
cʜιᴇ007

C'est vrai, mais ce n'est pas la bonne réponse dans ce cas, ce qui donne besoin d'une autre question. Question mise à jour pour refléter ce spécifique.
Coldblackice

Réponses:


58

Vous pouvez généralement mieux comprendre l’utilisation de votre mémoire avec des outils tels que RamMap .

entrez la description de l'image iciCliquez 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.

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).

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 ).

entrez la description de l'image ici

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.

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, devrais-je simplement caler le fichier page à une taille de 1 Go?)

À 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.


1
Ahhh je vois. Oui, l'utilisation de la mémoire "fantôme" semble provenir de la catégorie Fichier mappé (et plus précisément de la colonne Veille de celle-ci). Ainsi, le Gestionnaire des tâches ne signale pas que ces fichiers sont mappés, mais simplement que la mémoire est utilisée?
Coldblackice

2
Merci pour l'aide et l'addenda. En ce qui concerne votre note sur le fichier de page et les disques SSD - j'ai entendu exactement le contraire (et par conséquent pourquoi je l'ai telle quelle). Je ne dis pas que j'ai le "droit" définitif par n'importe quel moyen, mais j'ai lu que le fichier d'échange est "inestimable" sur un SSD en raison des avantages rapides de ce dernier. Et pour ce qui est de dégrader la vie du disque SSD, j’ai entendu dire que c’était négligeable, tant que le fichier d'échange était limité.
Coldblackice

1
Pour ce qui est de laisser Windows le gérer - Windows veut permettre à mon fichier d'échange de s'étendre jusqu'à 18 Go! Malheureusement, je ne peux pas me permettre cette quantité d'espace sur mon disque SSD pour la pagination. J'avais supposé que 12 Go de mémoire seraient plus que suffisants pour que Windows fonctionne, mémoire que, étrangement, Windows semble en extraire le maximum disponible, dissimulant apparemment tout ce sur quoi il peut mettre la main :) Ainsi, je crains que si je laisse le fichier de page aussi volumineux qu’il le souhaite, il trouvera suffisamment de fichiers à mapper en mémoire pour permettre rapidement de remplir le fichier de page dans son intégralité.
Coldblackice

1
@Coldblackice: Je suis désolé de ne pas pouvoir vous convaincre. N'enlève que 1 élément, il y a très peu de personnes qui comprennent bien la gestion de la mémoire Windows. Pourtant, beaucoup de gens sont prompts à faire des recommandations (évidemment, moi inclus). Demandez-vous si la limitation de la taille du fichier d'échange est utile, pourquoi ne s'agit-il pas de la valeur par défaut? De plus, il est très peu probable qu'un fichier mappé en mémoire soit vidé dans le fichier de pagination, car il existe déjà dans un fichier (celui qui a été mappé en mémoire). Votre crainte à cet égard est donc probablement mal placée.
Der Hochstapler

1
@Oliver Salzburg, il ne faut pas oublier que Windows 7 a été conçu pour rouiller, pas les disques SSD, ni 1 à 4 Go de RAM, pas 12. Ce n'est pas un évangile, il devrait être évident Les solutions par défaut ne conviennent pas et la solution n'est pas de continuer à préconiser de ne pas y penser et de ne jamais toucher à ces valeurs par défaut, peu importe le moment où une personne souhaite comprendre plus en profondeur un problème. C'est bien pour les noobs, mais pas pour tout le monde.
SilverbackNet

2

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.


0

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).


Comment augmentez- vous votre mémoire virtuelle ? Et quel est le raisonnement derrière le facteur 1.5?
Der Hochstapler

Bien que l’augmentation de la mémoire virtuelle (en augmentant la taille du fichier d'échange) soit utile, elle peut toutefois entraîner beaucoup de pagination, ce qui ralentira la machine. Si tous les programmes inutiles ont été empêchés de s'exécuter, la meilleure chose à faire est d'installer plus de RAM.
Fran

Pour augmenter votre mémoire virtuelle, suivez le chemin: Allez dans les propriétés de MON ORDINATEUR -> sélectionnez "Paramètres avancés du système" -> allez dans l'onglet "avance" -> sélectionnez les "paramètres" sous PERFORMANCE-> allez à l'onglet avancé -> sous Mémoire virtuelle. Sélectionnez Modifier-> Sélectionnez Taille personnalisée pour donner min. et max. taille ...... Il est recommandé d'augmenter votre mémoire virtuelle jusqu'à 1,5 fois votre mémoire physique (ex: si vous avez 4 Go de RAM, vous pouvez affecter jusqu'à 6 Go de mémoire virtuelle). Mais la suggestion du FRAN est également correcte. S'il vous plaît essayez de minimiser votre application d'arrière-plan inutile.
tiki

Alors, est-il prouvé qu'il est généralement préférable d'augmenter ou de réduire le fichier d'échange, en termes de performances brutes et globales? Le 1.5x est-il vraiment nécessaire?
Coldblackice

0

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.


1
Êtes-vous affilié à ce logiciel? Le dernier paragraphe ressemble à du marketing, parlez-moi, et je vois que vous recommandez la même chose pour deux anciens messages.
Arjan

1
Oui, j'ai aidé l'auteur du programme à améliorer le programme. Mais je n'ai aucune raison (financière) de promouvoir le programme parce que le programme est gratuit.
Willy2

0

RAMMap a montré que le C:\Windows\SoftwareDistribution\DataStore\DataStore.edbfichier 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.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.