Jürgen Steinblock
Jürgen Steinblock

Reputation: 31733

.net memory profiler that can profile remote machines

I own the Ants Profiler 4 which is great for performance / memory profiling.

Unfortunately it only works on the local machine and I cannot attach to a running process. But I have a memory leak that only seems to occure on our production server. A windows console app written in vb.net runs fine with constant memory usage for several days and then suddenly starts consuming all the available memory 'til within 24 hours.

Is there a way to collect some data from the running process and inspect it?

Upvotes: 3

Views: 4280

Answers (2)

scobi
scobi

Reputation: 14548

The two big .NET commercial profilers - ANTS and dotTrace - as of this writing still do not support remote profiling of memory allocations. Sad face.

I'm researching this issue myself, and am currently looking at two options. First is Microsoft's CLR Profiler:

http://clrprofiler.codeplex.com/

While this does not support remote profiling, it does have full source. I don't think it would be too much work to add some command line options to it that let you tell it to attach to a process, grab a memory snapshot and send to disk, then detach. Use Powershell to remote execute it on the live server, and then I can analyze the snapshot at my leisure on my desktop.

The other option I'm considering is grabbing a minidump off the live app and using sos to run reports of the memory being used. Note that the minidump unfortunately cannot be done with procdump -r due to this bug, must do a full frozen dump.

Nontrivial work either way and I'm just getting started, but I have yet to find a better solution.

Upvotes: 3

Mel Harbour
Mel Harbour

Reputation: 381

Upgrade to the latest version (6.0). That has support for Attach to Process, which is, I think, what you're after!

Upvotes: -1

Related Questions