Collecte de données liées à l'allocation et à la durée de vie de la mémoire .NET
Les outils de profilage Visual Studio prennent en charge les données d'allocation de mémoire et de durée de vie des objets .NET pour vous permettre de détecter des problèmes de performances relatifs à la mémoire dans votre application.
Les données liées à l'allocation de mémoire .NET incluent la taille et le nombre des objets liés à la mémoire .NET Framework qui ont été alloués.
Les informations de durée de vie des objets incluent la taille et le nombre des objets liés à la mémoire .NET Framework qui ont été libérés lors des trois générations de garbage collection.
Conditions requises
- Visual Studio Ultimate, Visual Studio Premium, Visual Studio Professional
[!REMARQUE]
Les fonctionnalités de sécurité renforcée dans Windows 8 et Windows Server 2012 nécessitaient d'importantes modifications de la manière dont le profileur Visual Studio collecte des données sur ces plateformes.Les applications Windows Store requièrent également de nouvelles techniques de collecte.Consultez Profilage d'applications Windows 8 et Windows Server 2012.
Vous pouvez collecter des données à l'aide de la méthode d'échantillonnage ou de profilage par instrumentation.
Lorsque vous utilisez la méthode d'échantillonnage, le profileur suit toutes les allocations de mémoire .NET et les objets qui ont été générés par le processus qui a été démarré ou attaché.
Lorsque vous utilisez la méthode d'instrumentation, le profileur suit uniquement ces allocations de mémoire .NET et objets générés par les modules instrumentés.
Important
Lorsque vous collectez des données de mémoire .NET (allocations, durées de vie d'objet, ou les deux) à l'aide de la méthode d'échantillonnage, tous les événements d'échantillonnage spécifiés par l'utilisateur sont ignorés et les allocations de mémoire appropriées et/ou les événements d'allocation de mémoire sont utilisés pour collecter les données.
Si vous activez le profilage de l'allocation de mémoire .NET, vous activez également le mode Allocation.Si vous activez le profilage de données de durée de vie du .NET, vous activez également le mode Durée de vie des objets.Pour plus d’informations, consultez Mode Allocations de mémoire .NET et Mode Durée de vie de l'objet.
Pour plus d'informations sur la façon de collecter les données de mémoire .NET à l'aide des outils en ligne de commande des outils de profilage, consultez Utilisation des méthodes de mémoire .NET pour collecter des données d'allocation de mémoire et de durée de vie des objets dans Utilisation de méthodes de profilage pour collecter des données de performance à partir de la ligne de commande.
Pour collecter les données de la mémoire .NET
Dans l'Explorateur de performances, cliquez avec le bouton droit sur la session de performance, puis cliquez sur Propriétés.
Dans la boîte de dialoguePages de propriétés de la Performance Session, cliquez sur l'onglet Général, puis activez la case à cocher Collecter les informations d'allocation d'objets .NET.
Pour collecter les données de durée de vie des objets .NET, activez la case à cocher Collecter aussi les informations de durée de vie des objets .NET.
Tâches courantes
Spécifiez des options supplémentaires dans la boîte de dialogue Pages de propriétés de la Performance Session.Pour ouvrir cette boîte de dialogue :
- Dans l'Explorateur de performances, cliquez avec le bouton droit sur le nom de la session de performance, puis cliquez sur Propriétés.
Les tâches figurant dans le tableau suivant décrivent des options que vous pouvez spécifier dans la boîte de dialogue Pages de propriétés de Performance Session lorsque vous collectez les données de mémoire .NET.
Tâche |
Contenu associé |
---|---|
Sur la page Général, spécifiez les détails d'attribution de nom pour le fichier de données de profilage généré (.vsp). |
|
Sur la page Lancement, choisissez l'application à démarrer si votre solution de code comporte plusieurs projets .exe. |
|
Dans la page Interactions de couche, ajoutez les données d'appel ADO.NET à l'exécution du profilage. |
|
Sur la page Événements Windows, spécifiez un ou plusieurs événements de Suivi d'événements pour Windows (ETW) à collecter avec les données d'échantillonnage. |
|
Dans la page Compteurs Windows, spécifiez un ou plusieurs compteurs de performance de système d'exploitation à ajouter aux données de profilage en tant que marques. |
|
Sur la page Avancé, spécifiez la version du runtime .NET Framework à profiler si vos modules d'application utilisent plusieurs versions.Par défaut, la première version chargée est profilée. |
Tâches d'instrumentation
Les tâches figurant dans le tableau suivant sont des options de la boîte de dialogue Pages de propriétés qui sont spécifiques au profilage avec la méthode d'instrumentation.
Tâche |
Contenu associé |
---|---|
Sur la page Fichiers binaires, spécifiez un emplacement pour les copies instrumentées des modules.Par défaut, les fichiers binaires d'origine sont déplacés dans un dossier de sauvegarde. |
|
Sur la page Instrumentation, excluez les petites fonctions du profilage pour réduire les surcharges de profilage, profilez le code JavaScript dans les pages Web ASP.NET et spécifiez les commandes à exécuter à une invite de commandes avant et après le processus d'instrumentation. |
|
Sur la page Compteurs UC, spécifiez un ou plusieurs compteurs de performance du processeur à ajouter aux données de profilage. |
|
Sur la page Options avancées, spécifiez les options VSInstr.exe supplémentaires souhaitées, notamment les options permettant d'inclure ou d'exclure des fonctions spécifiques.Pour plus d'informations sur ces options VSInstr, consultez VSInstr. |
Voir aussi
Tâches
Comment : choisir des méthodes de collection
Concepts
Configuration de sessions de performance pour les outils de profilage