Memory usage climbing

I was recently allowed to download a beta version of profiler 3. I just wanted to report a potential issue I am seeing. First of all, overall it looks pretty good -- it appears to fix a 'System.BadImageFormatException' I was seeing in version 2 when trying to do performance profiling.

I am mainly working with the memory profiler. I started having 'out of memory' issues after I took 3 or 4 snapshots during the same profile session. So, I started watching memory usage through task manager, and I started saving and then closing each snapshot before I did another task in my application and took another snapshot.

So, when I first started profiling, the memory of the profiler was running at about 45 Mb. After I took a snapshot, saved and then closed the results, the profiler memory would end up at about 107 Mb. I took another snapshot, saved and closed those results and the profiler memory was about 200 Mb. It seemed to settle around this size after subsequent snapshots. Even though I was closing my results, memory never even came close to falling back to the initial 45 Mb.

Also, while it is actually creating the snapshot, I would see it's memory climb as high as 750 Mb.

I am running on a 2 GB machine and my app takes a fair amount of memory and it also has memory leaks (which is why I'm looking at profilers to start with), but with the memory footprint of the profiler, I am running out of memory -- if I don't save and close the snapshots, after 2 or three, I can no longer save them because I get an out of memory error.

Comments

  • We do store a lot of information - pretty much the contents of the heap each time you take a snapshot. So with a high memory usage application you will see the memory increase pretty quickly with each snapshot. Simplest thing to do would be to save off the previous snapshots as you get short of memory.

    Glad you liked the beta generally :).

    We're gearing up to release really soon now.
    Richard Mitchell
    Project Manager
    Red Gate Software Ltd
  • My concern is that the memory does not seem to be releasing after I do save and close the snapshot.
  • Not sure why the memory wouldn't be released we'll have a look into it. The size of the process may stay the same but the working set may shrink a lot. Also as you're not doubt aware it's highly dependent on the garbage collection of the .NET framework itself.

    Certainly we'll look into for a future point release.
    Richard Mitchell
    Project Manager
    Red Gate Software Ltd
Sign In or Register to comment.