Compteurs de performance pour la mémoire
Mise à jour : novembre 2007
La catégorie .NET CLR Memory de la Console de performance comprend des compteurs qui fournissent des informations sur le « garbage collector » (ramasse-miettes). Le tableau suivant décrit ces compteurs de performance.
Compteur de performance |
Description |
---|---|
Nb. d'octets dans tous les tas |
Affiche la somme des compteurs Taille tas génération 0, Taille tas génération 1, Taille tas génération 2 et Taille du tas des objets volumineux. Ce compteur indique la mémoire actuellement allouée en octets aux tas du garbage collection. |
Nb. handles GC |
Affiche le nombre actuel de handles de garbage collection utilisés. Les handles de garbage collection sont des handles vers des ressources externes au Common Language Runtime et à l'environnement managé. |
Nombre de collections de la génération 0 |
Affiche le nombre de fois où les objets de génération 0 (c'est-à-dire, les objets les plus jeunes, les plus récemment alloués) sont récupérés par le garbage collector depuis le démarrage de l'application. Un garbage collection de génération 0 se produit lorsque la mémoire disponible en génération 0 n'est pas suffisante pour satisfaire une demande d'allocation. Ce compteur s'incrémente à la fin d'un garbage collection de génération 0. Les garbage collections de génération supérieure comprennent tous ceux des générations inférieures. Ce compteur est explicitement incrémenté lorsqu'un garbage collection de génération supérieure (génération 1 ou 2) se produit. Ce compteur affiche la dernière valeur observée. La valeur du compteur _Global_ n'est pas exacte et doit être ignorée. |
Nombre de collections de la génération 1 |
Affiche le nombre de fois où des objets de génération 1 sont récupérés par le garbage collector depuis le démarrage de l'application. Ce compteur s'incrémente à la fin d'un garbage collection de génération 1. Les garbage collections de génération supérieure comprennent tous ceux des générations inférieures. Ce compteur est explicitement incrémenté lorsqu'un garbage collection de génération supérieure (génération 2) se produit. Ce compteur affiche la dernière valeur observée. La valeur du compteur _Global_ n'est pas exacte et doit être ignorée. |
Nombre de collections de la génération 2 |
Affiche le nombre de fois où des objets de génération 2 sont récupérés par le garbage collector depuis le démarrage de l'application. Ce compteur s'incrémente à la fin d'un garbage collection de génération 2 (également appelé full garbage collection). Ce compteur affiche la dernière valeur observée. La valeur du compteur _Global_ n'est pas exacte et doit être ignorée. |
Nb. GC induit |
Affiche le nombre maximal de fois où un garbage collection a été effectué en raison d'un appel explicite à GC.Collect. Il est recommandé de laisser le garbage collector décider de la fréquence de ses collections. |
Nb. d'objets épinglés |
Affiche le nombre d'objets épinglés rencontrés lors du dernier garbage collection. Un objet épinglé est un objet que le garbage collector ne peut pas déplacer dans la mémoire. Ce compteur effectue le suivi des objets épinglés uniquement dans les tas récupérés par le garbage collector. Par exemple, un garbage collection de la génération 0 entraîne le décompte des objets épinglés uniquement dans le tas de génération 0. |
Nb. de blocs de synchronisation utilisés |
Affiche le nombre actuel de blocs de synchronisation utilisés. Les blocs de synchronisation sont des structures de données par objet allouées au stockage d'informations de synchronisation. Les blocs de synchronisation contiennent des références faibles aux objets managés et doivent être analysés par le garbage collector. Les blocs de synchronisation ne servent pas uniquement à stocker des informations de synchronisation ; ils peuvent également stocker des métadonnées COM Interop. Ce compteur indique les problèmes de performance liés à un usage intensif de primitives de synchronisation. |
Nb. total d'octets validés |
Affiche la quantité de mémoire virtuelle, exprimée en octets, actuellement allouée par le garbage collector. La mémoire allouée est la mémoire physique pour laquelle un espace a été réservé dans le fichier d'échange du disque. |
Nb. total d'octets réservés |
Affiche la quantité de mémoire virtuelle, exprimée en octets, actuellement réservée par le garbage collector. La mémoire réservée est l'espace de mémoire virtuelle réservé à l'application, mais aucun disque ni page de mémoire principale n'a été utilisé. |
% temps de le GC |
Affiche le pourcentage du temps écoulé qui a été consacré à la réalisation d'un garbage collection depuis le dernier cycle de garbage collection. Ce compteur indique habituellement le travail réalisé par le garbage collector pour collecter et compacter de la mémoire de la part d'une application. Ce compteur est mis à jour uniquement à la fin de chaque garbage collection. Ce compteur n'établit pas une moyenne ; sa valeur reflète la dernière valeur observée. |
Octets alloués/s |
Affiche le nombre d'octets par seconde alloués au tas du garbage collection. Ce compteur est mis à jour à la fin de chaque garbage collection, et non à chaque allocation. Ce compteur ne représente pas une moyenne temporelle ; il affiche la différence entre les valeurs observées dans les deux derniers intervalles de temps, divisée par la durée de l'intervalle échantillon. |
Survivants pour finalisation |
Affiche le nombre d'objets récupérés par le garbage collector qui survivent à un garbage collection parce qu'ils sont en attente de finalisation. Si ces objets contiennent des références à d'autres objets, ces derniers survivent également, mais ne seront pas dénombrés par ce compteur. Les compteurs Finalisation-mémoire promues de génération 0 et Finalisation-mémoire promues de génération 1 représentent toute la mémoire qui a survécu pour des raisons de finalisation. Ce compteur n'est pas cumulatif ; il est mis à jour à la fin de chaque garbage collection avec le nombre de survivants à cette opération uniquement. Ce compteur indique la charge mémoire supplémentaire que l'application peut subir en raison de la finalisation. |
Tas taille génération 0 |
Affiche la quantité maximale d'octets pouvant être alloués à la génération 0 ; il n'indique pas le nombre actuel d'octets alloués à la génération 0. Un garbage collection de la génération 0 se produit lorsque les allocations depuis le dernier garbage collection dépassent cette taille. La taille de la génération 0 est réglée par le garbage collector et peut changer pendant l'exécution de l'application. À la fin d'un garbage collection de la génération 0, la taille du tas de génération 0 est de 0 octet. Ce compteur affiche la taille des allocations, en octets, qui appelle le garbage collection de génération 0 suivant. Ce compteur est mis à jour à la fin d'un garbage collection, et non à chaque allocation. |
Octets promus génération 0/s |
Affiche le nombre par seconde des octets qui sont promus de la génération 0 à la génération 1. La mémoire est promue lorsqu'elle survit à un garbage collection. Ce compteur est un indicateur du nombre d'objets à durée de vie relativement longue créés par seconde. Ce compteur affiche la différence entre les valeurs observées dans les deux derniers intervalles de temps, divisée par la durée de l'intervalle échantillon. |
Tas taille génération 1 |
Affiche le nombre actuel d'octets dans la génération 1 ; ce compteur n'affiche pas la taille maximale de la génération 1. Les objets ne dont pas directement alloués à cette génération ; ils y sont promus suite aux garbage collections de génération 0. Ce compteur est mis à jour à la fin d'un garbage collection, et non à chaque allocation. |
Octets promus génération 1/s |
Affiche le nombre par seconde des octets qui sont promus de la génération 1 à la génération 2. Les objets promus uniquement pour des raisons de finalisation ne sont pas inclus dans ce compteur. La mémoire est promue lorsqu'elle survit à un garbage collection. La génération 2 étant la plus ancienne, les promotions depuis celle-ci ne sont pas possibles. Ce compteur est un indicateur du nombre d'objets à durée de vie très longue créés par seconde. Ce compteur affiche la différence entre les valeurs observées dans les deux derniers intervalles de temps, divisée par la durée de l'intervalle échantillon. |
Tas taille génération 2 |
Affiche le nombre actuel d'octets dans la génération 2. Les objets ne sont pas directement alloués à cette génération ; ils y sont promus de la génération 1 suite aux garbage collections de génération 1. Ce compteur est mis à jour à la fin d'un garbage collection, et non à chaque allocation. |
Taille du tas des objets volumineux |
Affiche la taille actuelle du tas des objets volumineux en octets. Les objets dont la taille est supérieure à 20 Ko sont considérés comme des grands objets par le garbage collector et sont directement alloués à un tas spécial ; ils ne sont pas promus d'une génération à l'autre. Ce compteur est mis à jour à la fin d'un garbage collection, et non à chaque allocation. |
Finalisation-mémoire promues de génération 0 |
Affiche les octets de mémoire qui sont promus de la génération 0 à la génération 1 pour des raisons de finalisation. Ce compteur n'est pas cumulatif ; il affiche la valeur observée à la fin du dernier garbage collection. |
Finalisation-mémoire promues de génération 1 |
Affiche les octets de mémoire qui sont promus de la génération 1 à la génération 2 pour des raisons de finalisation. Ce compteur n'est pas cumulatif ; il affiche la valeur observée à la fin du dernier garbage collection. Ce compteur est remis à 0 uniquement si le dernier garbage collection était de génération 0. |
Mémoire promue de la génération 0 |
Affiche les octets de mémoire qui survivent au garbage collection et sont promus de la génération 0 à la génération 1. Les objets promus uniquement pour des raisons de finalisation ne sont pas inclus dans ce compteur. Ce compteur n'est pas cumulatif ; il affiche la valeur observée à la fin du dernier garbage collection. |
Mémoire promue de la génération 1 |
Affiche les octets de mémoire qui survivent au garbage collection et sont promus de la génération 1 à la génération 2. Les objets promus uniquement pour des raisons de finalisation ne sont pas inclus dans ce compteur. Ce compteur n'est pas cumulatif ; il affiche la valeur observée à la fin du dernier garbage collection. Ce compteur est remis à 0 uniquement si le dernier garbage collection était de génération 0. |
Voir aussi
Concepts
Gestion automatique de la mémoire
Référence
Génération de profils d'exécution