Guide pratique pour attacher le profileur à une application web ASP.NET et collecter des données de mémoire en utilisant la ligne de commandeHow to: Attach the profiler to an ASP.NET web application to collect memory data by using the command line

Cet article explique comment utiliser les outils en ligne de commande des Outils de profilage Visual StudioVisual Studio pour attacher le profileur à une application web ASP.NETASP.NET et collecter des données sur le nombre et la taille des allocations de mémoire du .NET Framework.This article describes how to use Visual StudioVisual Studio Profiling Tools command-line tools to attach the profiler to a ASP.NETASP.NET Web application and collect data about the number and size of .NET Framework memory allocations. Vous pouvez également collecter des données sur la durée de vie des objets en mémoire du .NET Framework.You can also collect data about the lifetime of .NET Framework memory objects.

Note

Les outils en ligne de commande des Outils de profilage se trouvent dans le sous-répertoire \Team Tools\Performance Tools du répertoire d’installation de Visual StudioVisual Studio.Command-line tools of the Profiling Tools are located in the \Team Tools\Performance Tools subdirectory of the Visual StudioVisual Studio installation directory. Les versions 64 bits et 32 bits des outils sont disponibles sur les ordinateurs 64 bits.On 64-bit computers, both 64-bit and 32-bit versions of the tools are available. Pour utiliser les outils en ligne de commande du profileur, vous devez ajouter le chemin des outils à la variable d’environnement PATH dans la fenêtre d’invite de commandes, ou l’ajouter à la commande.To use the profiler command-line tools, you must add the tools path to the PATH environment variable of the Command Prompt window or add it to the command itself. Pour plus d’informations, consultez Spécifier le chemin des outils en ligne de commande.For more information, see Specify the path to command line tools.

Pour collecter des données de performances auprès d’une application web ASP.NETASP.NET, vous devez utiliser l’outil VSPerfCLREnv.cmd pour initialiser les variables d’environnement appropriées sur l’ordinateur qui héberge l’application web ASP.NETASP.NET.To collect performance data from a ASP.NETASP.NET Web application, you must use the VSPerfCLREnv.cmd tool to initialize the appropriate environment variables on the computer that hosts the ASP.NETASP.NET Web application. Vous devez ensuite redémarrer l’ordinateur pour configurer le serveur web pour le profilage.You must then restart the computer to configure the Web server for profiling.

Vous utilisez ensuite l’outil VSPerfCmd.exe pour attacher le profileur au processus de travail ASP.NETASP.NET qui héberge votre site web.You then use the VSPerfCmd.exe tool to attach the profiler to the ASP.NETASP.NET worker process that hosts your Web site. Quand le profileur est attaché à l’application, vous pouvez suspendre et reprendre la collecte des données.When the profiler is attached to the application, you can pause and resume data collection.

Pour terminer une session de profilage, le profileur ne doit plus être attaché à l’application et doit être arrêté explicitement.To end a profiling session, the profiler must no longer be attached to the application and the profiler must be explicitly shut down. Dans la plupart des cas, nous vous recommandons de désactiver les variables d’environnement de profilage à la fin d’une session.In most cases, we recommend clearing the profiling environment variables at the end of a session.

Attacher le profileurAttach the profiler

Pour attacher le profileur à une application web ASP.NETTo attach the profiler to an ASP.NET web application

  1. Ouvrez une fenêtre Invite de commandes.Open a Command Prompt window.

  2. Initialisez les variables d’environnement de profilage.Initialize the profiling environment variables. Type :Type:

    VSPerfClrEnv {/globalsamplegc | /globalsamplegclife} [/samplelineoff]VSPerfClrEnv {/globalsamplegc | /globalsamplegclife} [/samplelineoff]

    • Les options /globalsamplegc et /globalsamplegclife spécifient le type de données de mémoire à collecter.The options /globalsamplegc and /globalsamplegclife specify the type of memory data to collect.

      Spécifiez seulement une des options suivantes.Specify one and only one of the following options.

      OptionOption DescriptionDescription
      /globalsamplegc/globalsamplegc Active la collecte des données d’allocation de mémoire.Enables the collection of memory allocation data.
      /globalsamplegclife/globalsamplegclife Active à la fois la collecte des données d’allocation de mémoire et celle des données de durée de vie des objets.Enables the collection of both memory allocation data and object lifetime data.
    • L’option /samplelineoff désactive l’affectation des données collectées à des lignes de code source spécifiques.The option /samplelineoff disables the assignment of collected data to specific source code lines. Quand cette option est spécifiée, les données sont affectées seulement au niveau des fonctions.If this option is specified, data is assigned at the function level.

  3. Redémarrez l’ordinateur pour définir la nouvelle configuration de l’environnement.Restart the computer to set the new environment configuration.

  4. Ouvrez une fenêtre Invite de commandes.Open a Command Prompt window. Si nécessaire, définissez la variable d’environnement de chemin du profileur.If necessary, set the profiler path enviroment variable.

  5. Démarrez le profileur.Start the profiler. Type :Type:

    VSPerfCmd /start :sample /output : OutputFile [Options]VSPerfCmd /start :sample /output : OutputFile [Options]

    • L’option /start:sample initialise le profileur.The /start:sample option initializes the profiler.

    • L’option /output:OutputFile est nécessaire avec /start.The /output:OutputFile option is required with /start. OutputFile spécifie le nom et l’emplacement du fichier de données profilage (.vsp).OutputFile specifies the name and location of the profiling data (.vsp) file.

      Vous pouvez utiliser l’une des options suivantes avec l’option /start:sample.You can use any of the following options with the /start:sample option.

    Note

    Les options /user et /crosssession sont généralement nécessaires pour les applications ASP.NET.The /user and /crosssession options are usually required for ASP.NET applications.

    OptionOption DescriptionDescription
    /user :[Domain\]UserName/user :[Domain\]UserName Spécifie le nom de domaine et d’utilisateur du compte propriétaire du processus de travail ASP.NET.Specifies the domain and user name of the account that owns the ASP.NET worker process. Cette option est nécessaire si le processus s’exécute sous le compte d’un utilisateur autre que celui connecté.This option is required if the process is running as a user other than the logged-on user. Le propriétaire du processus est répertorié dans la colonne Nom d’utilisateur, sous l’onglet Processus du gestionnaire des tâches de Windows.The process owner is listed in the User Name column on the Processes tab of Windows Task Manager.
    /crosssession/crosssession Active le profilage des processus dans d’autres sessions ouvertes.Enables profiling of processes in other logon sessions. Cette option est nécessaire si l’application ASP.NET s’exécute dans une autre session.This option is required if the ASP.NET application is running in a different session. L’identificateur de session est répertorié dans la colonne ID de session, sous l’onglet Processus du gestionnaire des tâches de Windows.The session idenitifier is listed in the Session ID column on the Processes tab of Windows Task Manager. /CS peut être spécifié comme abréviation de /crosssession./CS can be specified as an abbreviation for /crosssession.
    /waitstart [:Interval]/waitstart [:Interval] Spécifie le nombre de secondes à attendre que le profileur s’initialise avant qu’il retourne une erreur.Specifies the number of seconds to wait for the profiler to initialize before it returns an error. Si Interval n’est pas spécifié, le profileur attend indéfiniment.If Interval is not specified, the profiler waits indefinitely. Par défaut, /start retourne immédiatement.By default, /start returns immediately.
    /wincounter : WinCounterPath/wincounter : WinCounterPath Spécifie le compteur de performances Windows dont les données doivent être collectées au cours du profilage.Specifies a Windows performance counter to be collected during profiling.
    /automark : Interval/automark : Interval À utiliser avec /wincounter uniquement.Use with /wincounter only. Spécifie le nombre de millisecondes écoulées entre les événements de collecte du compteur de performances Windows.Specifies the number of milliseconds between Windows performance counter collection events. La valeur par défaut est de 500 ms.Default is 500 ms.
    /events : Config/events : Config Spécifie l’événement du Suivi d’événements pour Windows (ETW) qui doit être collecté au cours du profilage.Specifies an Event Tracing for Windows (ETW) event to be collected during profiling. Les événements ETW sont collectés dans un fichier séparé (.etl).ETW events are collected in a separate (.etl) file.
  6. Démarrez l’application web ASP.NETASP.NET de manière habituelle.Start the ASP.NETASP.NET Web application in the typical way.

  7. Attachez le profileur au processus de travail ASP.NETASP.NET.Attach the profiler to the ASP.NETASP.NET worker process. Type :Type:

    VSPerfCmd /attach :{PID|ProcName} [/targetclr:Version]VSPerfCmd /attach :{PID|ProcName} [/targetclr:Version]

    • L’ID de processus (PID) Spécifie l’ID de processus ou le nom du processus de travail ASP.NETASP.NET.The process ID (PID) specifies the process ID or the process name of the ASP.NETASP.NET worker process. Vous pouvez afficher les ID de processus de tous les processus en cours d’exécution dans le gestionnaire des tâches de Windows.You can view the process IDs of all running processes in Windows Task Manager.

    • /targetclr: Version spécifie la version du common language runtime (CLR) à profiler quand plusieurs versions du runtime sont chargées dans une application./targetclr: Version specifies the version of the common language runtime (CLR) to profile when more than one version of the runtime is loaded in an application.

Contrôler la collecte des donnéesControl data collection

Pendant l’exécution de l’application, vous pouvez contrôler la collecte des données en démarrant et en arrêtant l’écriture des données dans le fichier de données du profileur avec les options de VSPerfCmd.exe.While the application is running, you can control data collection by starting and stopping the writing of data to the profiler data file by using VSPerfCmd.exe options. Le fait de pouvoir contrôler la collecte vous permet de collecter des données pour une phase spécifique de l’exécution du programme, telle que le démarrage ou l’arrêt de l’application.Controlling data collection enables you to collect data for a specific part of program execution, such as starting or shutting down the application.

Pour démarrer et arrêter la collecte de donnéesTo start and stop data collection

  • Les paires d’options VSPerfCmd suivantes permettent de démarrer et d’arrêter la collecte des données.The following pairs of VSPerfCmd options start and stop data collection. Spécifiez chaque option sur une ligne de commande distincte.Specify each option on a separate command line. Vous pouvez activer et désactiver la collecte de données à plusieurs reprises.You can turn data collection on and off multiple times.

    OptionOption DescriptionDescription
    /globalon /globaloff/globalon /globaloff Démarre (/globalon) ou arrête (/globaloff) la collecte des données pour tous les processus.Starts (/globalon) or stops (/globaloff) data collection for all processes.
    /processon : PID /processoff : PID/processon : PID /processoff : PID Démarre (/processon) ou arrête (/processoff) la collecte des données pour le processus spécifié par le PID.Starts (/processon) or stops (/processoff) data collection for the process specified by the PID.
    /attach:{PID|ProcName} /detach[:{PID|:ProcName}]/attach:{PID|ProcName} /detach[:{PID|:ProcName}] /attach commence à collecter des données pour le processus spécifié par l’ID ou le nom de processus./attach starts to collect data for the process that is specified by the process ID or process name. /detach arrête la collecte des données pour le processus spécifié ou pour tous les processus, si aucun processus n’est spécifié./detach stops data collection for the specified process or for all processes if a specific process is not specified.

Arrêter la session de profilageEnd the profiling session

Pour mettre fin à une session de profilage, le profileur doit être détaché de l’application web.To end a profiling session, the profiler must be detached from the Web application. Vous pouvez arrêter la collecte des données d’une application profilée avec la méthode d’échantillonnage en redémarrant le processus de travail ASP.NETASP.NET ou en appelant l’option VSPerfCmd /detach.You can stop the collection of data from an application that is profiled with the sampling method by restarting the ASP.NETASP.NET worker process or by calling the VSPerfCmd /detach option. Vous appelez ensuite l’option VSPerfCmd /shutdown pour désactiver le profileur et fermer le fichier de données de profilage.You then call the VSPerfCmd /shutdown option to turn off the profiler and close the profiling data file. La commande VSPerfClrEnv /globaloff efface les variables d’environnement de profilage. Toutefois, la configuration du système n’est pas réinitialisée tant que l’ordinateur n’a pas été redémarré.The VSPerfClrEnv /globaloff command clears the profiling environment variables, but the system configuration is not reset until the computer is restarted.

Pour terminer une session de profilageTo end a profiling session

  1. Effectuez l’une des opérations suivantes pour détacher le profileur de l’application cible :Perform one of the following steps to detach the profiler from the target application:

    • Tapez VSPerfCmd /detachType VSPerfCmd /detach

      - ou --or-

    • Fermez le processus de travail ASP.NETASP.NET.Close the ASP.NETASP.NET worker process. Type :Type:

      IISReset /stopIISReset /stop

  2. Fermez le profileur.Shut down the profiler. Type :Type:

    VSPerfCmd /shutdownVSPerfCmd /shutdown

  3. (Facultatif) Effacez les variables d’environnement de profilage.(Optional) Clear the profiling environment variables. Type :Type:

    VSPerfCmd /globaloffVSPerfCmd /globaloff

  4. Redémarrez l'ordinateur.Restart the computer. Si nécessaire, redémarrez Internet Information Services (IIS).If necessary, restart Internet Information Services (IIS). Type :Type:

    IISReset /startIISReset /start

Voir aussiSee also

Profiler des applications web ASP.NET Profile ASP.NET web applications
Vues des données de la mémoire .NET.NET memory data views