Blog de l'équipe support IIS/Azure France -- French IIS/Azure Support Team Blog

Blog for the French IIS/Azure/ASP.net Support Team dealing with various toppics related to IIS, web development and Azure (Web Sites, Web Roles)

Utiliser ProcDump.exe pour monitorer un pic CPU pour le processus W3WP.exe

Utiliser ProcDump.exe pour monitorer un pic CPU pour le processus W3WP.exe

Rate This
  • Comments 1

Un de nos collègues, Jaskirat Singh, a rédigé un article de blog sur l'utilisation de ProcDump.exe afin de monitorer un pic CPU pour le processus W3WP.exe : http://blogs.msdn.com/webtopics/archive/2009/08/08/using-procdump-exe-to-monitor-w3wp-exe-for-cpu-spikes.aspx

Je me propose donc d'en faire une adaptation française car cela peut vraiment être très utile.

Quand votre processus W3WP.exe (ou n'importe quel autre processus) monte en CPU, il est souvent difficile de générer un dump si cela est totalement aléatoire et ne se produit que sur un court laps de temps.
Il faudrait être très précis et très chanceux pour pouvoir générer un dump dans ces conditions avec Debug Diagnostic ou ADPLUS.

C'est ici que ProcDump.exe prend toute sa valeur. Il va monitorer un processus spécifique et en fonction des critères précisés il génèrera un dump.
Par exemple :

Procdump.exe -ma -c 50 -s 3 -n 2 5844
Où 5844 correspond au PID du processus W3WP.exe que vous voulez monitorer. Vous pouvez remplacer le PID par le nom du processus, comme W3WP.exe, mais uniquement si une seule instance de ce processus est en cours d'exécution.

-ma    permet d'écrire un dump avec toutes les informations mémoires. Le dump par défaut contient les informations sur les handles et les threads

-c     correspond à la limite CPU à partir de laquelle on va générer un dump

-s     correspond au nombre de secondes consécutives pendant lesquelles la limite CPU devra être dépassé pour générer un dump (la valeur par défaut est 10 secondes)

-n     correspond au nombre de dumps qui seront générés avant de clôturer ProcDump

La commande ci-dessus monitorera le processus dont le PID est 5844 et si la charge CPU sur ce processus dépasse les 50% pendant 3 secondes, un dump sera généré. Dès que deux dumps seront générés, ProcDump se terminera.

C:\Users\jaskis\Downloads\procdump> procdump -ma -c 50 -s 3 -n 2 5844

ProcDump v1.1 - Writes process dump files
Copyright (C) 2009 Mark Russinovich
Sysinternals - www.sysinternals.com

Process:            w3wp.exe (5844)
CPU threshold:      50% of system
Duration threshold: 3s
Number of dumps:    2
Hung window check:  Disabled
Exception monitor:  Disabled
Dump file:          C:\Users\jaskis\Downloads\procdump\w3wp.dmp

Time        CPU  Duration
[23:48.35]  59%  1s
[23:48.36] CPU usage below threshold.
[23:48.37]  54%  1s
[23:48.38]  55%  2s
[23:48.39]  61%  3s
Process has hit spike threshold.
Writing dump file C:\Users\jaskis\Downloads\procdump\w3wp_080309_114839PM.dmp... Dump written.

[23:48.44]  61%  1s
[23:48.45]  59%  2s
[23:48.46]  57%  3s
Process has hit spike threshold.
Writing dump file C:\Users\jaskis\Downloads\procdump\w3wp_080309_114846PM.dmp...
Dump written.

Quelques options supplémentaires peuvent être très intéressantes :
-64     Par défault, les dumps seront générés en 32 Bits. Si le processus que vous voulez monitorer est un processus 64 Bits, il convient de rajouter cette option
-t    Cette option vous permettra de générer un dump au moment où le processus que vous monitorez s'arrêtera

Si vous désirez voir toutes les options, exécutez procdump.exe via une invite de commande CMD sans aucune option.

En espérant que cet article vous sera utile
@ Bientôt
Sylvain Lecerf et L'équipe de support IIS Microsoft France

Leave a Comment
  • Please add 6 and 3 and type the answer here:
  • Post
  • Merci Sylvain, excellente documentation ! Utilisée en SevA ;-)

Page 1 of 1 (1 items)