Determining handle leaks from a .BLG?

Feb 12, 2014 at 7:00 PM
Edited Feb 12, 2014 at 7:00 PM
Hey guys,
I've only recently begun to get my feet wet with performance monitoring and PAL. I came across a CRM 2011 server that bloats from 20k to 90k handles over the cousre of 15 minutes. Is there anything I can do to determine what process this may have been from my .blg file?

I did capture Process(_Total)\Handle Count but I don't know if any more detailed info comes along with that. If this isn't info I can grab via PerfMon, can someone recommend anything I may be able to grab it with? Is it something I must look at live?

Thanks!
Feb 14, 2014 at 2:53 AM
A good article for looking at handles is this: http://blogs.technet.com/b/yongrhee/archive/2011/12/19/how-to-troubleshoot-a-handle-leak.aspx. Just apply it to the. W3wp.exe process assuming that is the one with the most handles. Depending on plugins and workflows running, the CRM async service may be the process that has a high amount of open handles. Without seeing more detail and depending on load and the number of users this may not necessarily be a problem, but simply what the server needs to have open to process all the requests at that time. The article goes into more depth as memory dumps can be captured if needed, but I would start with the tools like Process Explorer first and use the .blg you captured to see which process or processes have the most handles.

Chad Rexin
Coordinator
Feb 26, 2014 at 2:53 AM
Agreed, Crexin. Mr Rhee is quite the expert on these things.
In regards to Perfmon counters, I would collect all of the \Process(*)\Handle Count instances, but that will only get you the count. The inevitable next step I is to identify the handles in which the processes have which Yong's blog covers how to do that with Process Explorer. http://live.sysinternals.com/procexp.exe.