Два больших коммерческих профилировщика .NET - ANTS и dotTrace - на момент написания этой статьи до сих пор не поддерживают удаленное профилирование распределения памяти.Грустное лицо.
Я сам исследую эту проблему и сейчас ищу два варианта.Сначала Microsoft CLR Profiler:
http://clrprofiler.codeplex.com/
Хотя это не поддерживает удаленное профилирование, оно имеет полный исходный код .Я не думаю, что было бы слишком много работы, чтобы добавить к нему некоторые параметры командной строки, которые позволили бы вам сказать, чтобы он подключался к процессу, захватывал снимок памяти и отправлялся на диск, а затем отключался.Используйте Powershell для удаленного выполнения его на работающем сервере, а затем я могу анализировать снимок в свободное время на своем рабочем столе.
Другой вариант, который я рассматриваю, - это извлечь мини-дамп из живого приложения и использовать sos длязапустить отчеты об используемой памяти.Обратите внимание, что мини-дамп, к сожалению, не может быть выполнен с помощью procdump -r, поскольку эта ошибка должна выполнить полностью замороженный дамп.еще не нашли лучшего решения.