nous avons une application asp.net en production où w3wp.exe prend 100% de CPU (4 cœurs - 4 threads à 25%) et la charge CPU ne descend jamais jusqu'à ce que nous recyclons le pool d'applications (l'application est seule dans l'application bassin). Notre journal des erreurs n'a rien, aucune exception n'est émise (ou du moins nous ne les attrapons pas) donc nous suspectons que c'est un problème de code (boucle/blocage infini). Le problème ne se pose qu'après quelques heures de fonctionnement avec une charge élevée (plusieurs milliers d'utilisateurs).w3wp.exe dans l'application de production ASP.NET utilise 100% CPU. Comment trouver le problème?
Est-il possible de profiler l'un des threads EXISTING qui provoque la charge CPU? Après avoir jeté un coup d'oeil à DotTrace Profiler de JetBrains semble que ce n'est pas possible pour les limitations de l'API Profiling et de l'homme, nous n'avons pas à reproduire le problème dans notre environnement de test. L'application utilise SQL Server 2005, LINQ2SQL et API System.Transactions.
Une suggestion pour trouver le problème?
Les versions récentes de Windows vous permettent d'effectuer une sauvegarde d'un processus à l'aide du gestionnaire de tâches. – Steven