开发者

.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 2开发者_StackOverflow中文版4 hours.

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


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.


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

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜