с работающими службами Windows .net, как узнать, не останавливая службу, почему она использует столько памяти? - PullRequest
1 голос
/ 07 августа 2009

Служба была скомпилирована без константы трассировки / отладки и отладочной информации.

Как бы вы проверили использование памяти этими службами Windows?

Ответы [ 3 ]

2 голосов
/ 07 августа 2009

Ознакомьтесь с ProcessMon и другими приложениями SysInternals здесь . Они дают вам кучу информации. Включая поколения сборщиков мусора и т. Д.

0 голосов
/ 07 августа 2009

Все инструменты, описанные выше, являются отличными инструментами. Если у вас есть на это бюджет, вам будет сложно ошибиться с MemProfiler или RedGate, о которых упоминал Митч. Я использовал оба, хотя RedGates был предыдущей версией. Я понимаю, что их последняя версия действительно поднялась на ступеньку выше.

Если у вас нет на это бюджета, то ProcessMon обычно является первым инструментом, к которому вы хотите обратиться, если вы подозреваете, что у вас может быть утечка памяти. Настоятельно рекомендуем набор инструментов Sysinternals для устранения неполадок.

Хотя понимание того, как читать данные, предоставленные ProcessMon, поможет вам подтвердить, что у вас есть утечка памяти, потратить немного времени на изучение использования WinDbg поможет вам определить что такое утечка - хотя требует немного больше обязательств.

Все упомянутые инструменты, WinDbg, MemProfiler и RedGate, позволят вам проверить память службы или любого другого процесса. Отсутствие доступных программных символов усложнит работу всех инструментов.

Отсутствие доступных символов является «грехом» - если вы являетесь владельцем сервиса, перестройте его с помощью символов. Если вы не хотите развертывать их вместе со службой, обратите внимание на реализацию Source Server и Symbol Server (настоятельно рекомендуется). Если продавцу принадлежит услуга, изводите его, чтобы предоставить версию с символами.

Скачать Средства отладки для Windows

Ознакомьтесь с Руководствами по отладке Tess Ferrandez , чтобы начать работу с WinDbg.

Джон Роббинс о символах

Джон Роббинс на исходном сервере

0 голосов
/ 07 августа 2009

Скачать MemProfiler (14-дневная бесплатная пробная версия) и подключить к работающей службе Windows (это очень просто использовать: см. Учебные пособия

Инструмент для профилирования памяти от RedGate также имеет 14-дневную пробную версию

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