Профилировщик памяти .net, который может профилировать удаленные машины - PullRequest
3 голосов
/ 12 августа 2010

У меня есть Ants Profiler 4, который отлично подходит для профилирования производительности / памяти.

К сожалению, он работает только на локальной машине, и я не могу подключиться к работающему процессу.Но у меня есть утечка памяти, которая, кажется, происходит только на нашем производственном сервере.Приложение для консоли Windows, написанное на vb.net, прекрасно работает с постоянным использованием памяти в течение нескольких дней, а затем внезапно начинает использовать всю доступную память в течение 24 часов.

Есть ли способ собрать некоторые данные из запущенногообрабатывать и проверять?

Ответы [ 2 ]

3 голосов
/ 24 мая 2013

Два больших коммерческих профилировщика .NET - ANTS и dotTrace - на момент написания этой статьи до сих пор не поддерживают удаленное профилирование распределения памяти.Грустное лицо.

Я сам исследую эту проблему и сейчас ищу два варианта.Сначала Microsoft CLR Profiler:

http://clrprofiler.codeplex.com/

Хотя это не поддерживает удаленное профилирование, оно имеет полный исходный код .Я не думаю, что было бы слишком много работы, чтобы добавить к нему некоторые параметры командной строки, которые позволили бы вам сказать, чтобы он подключался к процессу, захватывал снимок памяти и отправлялся на диск, а затем отключался.Используйте Powershell для удаленного выполнения его на работающем сервере, а затем я могу анализировать снимок в свободное время на своем рабочем столе.

Другой вариант, который я рассматриваю, - это извлечь мини-дамп из живого приложения и использовать sos длязапустить отчеты об используемой памяти.Обратите внимание, что мини-дамп, к сожалению, не может быть выполнен с помощью procdump -r, поскольку эта ошибка должна выполнить полностью замороженный дамп.еще не нашли лучшего решения.

0 голосов
/ 20 августа 2010

Обновление до последней версии (6.0).Это поддерживает Attach to Process, что, я думаю, то, что вы ищете!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...