6 votes

Génération automatique du fichier de vidage du processus w3wp.exe lorsque le seuil de CPU est atteint, même si le PID change.

J'essaie de résoudre un problème avec l'un de nos sites Web qui provoque un pic intermittent de l'unité centrale. Le site se trouve sur une ferme de serveurs web et cela se produit par intermittence sur tous les serveurs à différents moments. Le processus à l'origine de ce pic est w3wp.exe. J'ai vérifié toutes les choses évidentes et je veux maintenant analyser plusieurs ensembles de fichiers de vidage pour le w3wp.exe qui provoque le pic.

J'essaie de générer automatiquement un fichier de vidage du processus w3wp.exe lorsqu'il atteint un seuil de CPU spécifié pendant un temps donné.

Je peux utiliser ProcDump.exe pour le faire et cela fonctionne très bien SI l'opération est lancée avant que le PID (Process ID) ne change.

Par exemple : procdump -ma -c 80 -s 10 -n 2 5844 (où 5844 est le PID)

  • -ma Écrire un fichier de vidage avec toute la mémoire du processus. Le format de vidage par défaut inclut les informations sur les threads et les handles.
  • -c Seuil du CPU à partir duquel il faut créer un dump du processus.
  • -s Secondes consécutives Le seuil du CPU doit être atteint avant l'écriture du dump (par défaut 10).
  • -n Nombre de vidages à écrire avant de quitter.

La commande ci-dessus surveillera le w3wp.exe jusqu'à ce que le CPU atteigne 80 % pendant 10 secondes et fera un vidage complet pendant au moins deux itérations.

Le problème :

J'ai plusieurs instances de w3wp.exe en cours d'exécution, je ne peux donc pas utiliser le nom du processus, je dois spécifier le PID. Le PID change chaque fois que le pool d'applications est recyclé. Cela entraîne le changement du PID avant que je puisse capturer plusieurs fichiers de vidage. Je dois alors relancer procdump sur chaque serveur web.

Ma question :

Comment puis-je continuer à générer automatiquement des fichiers de vidage même après que le PID ait changé ?

2voto

matra Points 1157

Utilise DebugDiagnostic 2.0 de Microsfot : https://www.microsoft.com/en-us/download/details.aspx?id=49924

Il gère plusieurs processus w3wp.exe. Si vous avez besoin d'une solution générique, vous devrez écrire un script - tel que https://gallery.technet.microsoft.com/scriptcenter/Getting-SysInternals-027bef71

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X