I am trying to profile a .NET service which we are suspecting that if it were run for a long period more than 5 to 10 days with out stopping, there is some memory leak happening. But when I am trying to run the memory profiler along with it, I am not able to take a snapshot from second day it self since it is hanging for ever and once it is stopped and restarted, the application works fine and no memory leak can be reproduced.
Could an y one suggest me on how to overcome this problem.
Is it only the profiler that hangs, or does the profiled application stop as well? Did you start the application from the profiler, or did you attach the profiler? Do you know roughly how much memory is used when you collect the snapshot? Is there a chance that the problem is caused by an out of memory condition (the profiler does add quite a lot of overhead)?
Is the unmanaged resources tracker enabled?
SciTech Software AB
Thanks for the reply. It is the profiler only that hangs when I click Collect Heap Snap Shot button. It shows a box Stopping Profiler please wait ... with a disabled Cancel button over it forever. My applications seem working fine. I waited for at leasat 2 hours to check if what happens or to see if my application stops along with it. But no change, I have to end profiler through Task Manager.
I started the application from the profiler. My application (Windows Service) occupies around 40 MB when run alone and is taking around 80 MB when run along with profiler. Under normal situation there is not much differance in memory while taking heap snap shot.
There is no chance of out of memory condition here. I could not find unmanaged resource traker option, I left everything with defaults. My application is pure c# windows service application in which we havent used any IDisposable classes which wrap unmanaged resources like file handles, database connections or bitmaps etc.
Please reply me with further suggestion or any other information I need to provide for better understanding.
Anyway, the log files are created by supplying the /log command line parameter to the profiler executable. E.g.
Code: Select all
"C:\Program files\SciTech\NetMemProfiler\NetMemProfiler.exe" /log
SciTech Software AB
Users browsing this forum: No registered users and 27 guests