Utiliser perfmon pour déterminer s’il existe une fuite de mémoire
Si les performances de Windows se dégradent avec le temps et que vous soupçonnez une fuite de mémoire, utilisez le moniteur de performances Windows pour vérifier si une fuite de mémoire est en cause. Ce processus ne vous indiquera pas la source de la fuite, ni s’il s’agit du mode utilisateur ou du mode noyau.
Commencez par lancer le moniteur de performances. Pour ouvrir le moniteur de performances, utilisez l’une des procédures suivantes :
- Ouvrez le menu Démarrer, recherchez le moniteur de performances et cliquez sur le résultat
- Utilisez le
Windows Key + R
raccourci clavier pour ouvrir la commande Exécuter, tapezperfmon
et cliquez sur OK pour ouvrir.
Ajouter des compteurs
Après avoir ouvert le moniteur de performances, ajoutez les compteurs suivants au graphique principal du moniteur de performances. Faites un clic droit sur Moniteur de performances sous Outils de surveillance et sélectionnez Propriétés.
Mémoire-->Octets du pool non paginé
Mémoire-->Octets du pool paginé
Fichier d’échange-->% Utilisation
Définir la durée pour capturer suffisamment d’activité
Pour capturer un graphique de la fuite au fil du temps, réglez le temps Échantillonner chaque à 600 secondes pour mesurer la valeur toutes les dix minutes. Définissez la Durée pour capturer suffisamment d’activité. Par exemple, pour le régler sur 24 heures, la valeur serait, 60*60*24 = 86,400
Vous pouvez également souhaiter enregistrer les données dans un fichier pour un examen ultérieur.
Démarrer l’application et surveiller
Démarrez l’application ou le test que vous pensez être à l’origine de la fuite. Laissez l’application ou le test fonctionner sans interruption pendant un certain temps ; n’utilisez pas l’ordinateur cible pendant ce temps. Les fuites sont généralement lentes et peuvent prendre des heures à détecter. Attendez quelques heures avant de décider si une fuite s’est produite.
Surveillez les compteurs du moniteur de performances. Après le début du test, les valeurs des compteurs changeront rapidement, et il peut s’écouler un certain temps avant que les valeurs des pools de mémoire atteignent un état stable.
Les fuites de mémoire en mode utilisateur se situent toujours dans le pool paginé et provoquent une augmentation régulière des compteurs Octets du pool paginé et Utilisation du fichier d’échange. Les fuites de mémoire en mode noyau épuisent généralement le pool non paginé, ce qui fait augmenter le compteur Octets du pool non paginé, bien que la mémoire paginable puisse également être affectée. Il arrive que ces compteurs montrent de faux positifs parce qu’une application met en cache des données.