1.take memory dump and load it in windbg with "sos" as described here.
Then you can load sos commands .cmdtree c:\debuggers\cmdtree.txt
3.Evaluate clr stacks for all threads by ~* e !clrstack
or by selecting Stacs/All managed Stacks from Sos Commands menu window.
as result you will see call stack lists,similar stacks like for memory dump.
4.Look for System.Threading.Monitor.Enter or System.Threading.Monitor.Exit in page load stacks , that might indicate that static object is using
that might cause slow performance for multiple requests.
5.to monitor sysncBlock use !syncblk commad
it will show who owns the lock and how many people waiting for it in "MonitorHeld" column.
"Info" column will - contains thread number [thr] that locking, use this commands:
~[thr]s
!clrstack
to display locking stack and which give you a chance to locate which procedure holding it.
also debugging and preview of dump files will be available in Visual studio 2010.
more...
No comments:
Post a Comment