I am having problems locating the reason for high CPU time on one of the servers monitored by AppMon.
Please see below. There is CPU spike and it says 100% instrumented processes.
How can I find the exact process and code location that is consuming the CPU the most?
I am sure that there will be a CPU sampling which triggers automatically so just open the session browser from the cockpit.
Method hotspots show time spent in I/O at Web Server/IIS.
I also noticed this in the PurePath analysis where it takes too much time to transition the call from the IIS agent to the .NET agent.
The highlighted area is where the transition from IIS agent to .NET agent goes.
I do not see any Sampling data. Given that this is a past incident I can no longer collect it.
Is there any way to turn the Sampling automatically on certain conditions?
I wonder what could be the I/O time in the IIS server and this is an ASP.NET application and the only thing IIS should do is to call the ASP.NET code. But instead it takes about 24sec to make the call from IIS agent to .NET agent.
Both agents are running on the same host.
I was also in a search for CLR thread pool issue.
However there is 100% CPU issue which AppMon cannot tell me what it is.
It looks like it is not in the ASP.NET/CLR code itself as it is not reported in Response Time Hotspots.
During the incident it was confirmed that it was w3wp.exe that was consuming the most CPU resources. Also restarting the web server fixed the issue.
So that leaves me to think it is a IIS native module issue.
But the only native module that I know of is AppMon itself.
Is there a way to tell if AppMon was consuming too much CPU cycles?
Hello @Martin K.
CPU Sampling is just to identify an entry point and to analyze background threads.
Note: AppMon sampling does not apply to native threads.