Профилирование памяти

Я использую dotTrace Memory, чтобы выяснить, почему в приложении происходит утечка памяти.

Проблема в том, что использование памяти, показанное на снимке, не соответствует используемой памяти (частный рабочий набор в perfmon).

Возможно, я неправильно настроил dotTrace или это означает, что дополнительная память связана с неуправляемыми ресурсами, которые dotTrace не может отслеживать?


person jgauffin    schedule 16.10.2012    source источник


Ответы (1)


Это может быть вызвано несколькими причинами:

  • dotTrace Memory не работает с собственной памятью, она поддерживает только профилирование управляемой памяти,

  • Память, используемая сборками, не отслеживается,

  • Сборщик мусора освобождает память, но она не регистрируется как свободная.

person Daria Dovzhikova    schedule 16.10.2012
comment
эх, разве память, используемая сборками, на которые ссылаются, не отслеживается? Почему бы и нет? - person jgauffin; 16.10.2012
comment
Фактически отслеживается только память, используемая выделенными управляемыми объектами. - person Daria Dovzhikova; 16.10.2012
comment
Означает ли это, что объекты, созданные в упомянутых сборках .NET, отслеживаются? - person jgauffin; 16.10.2012
comment
Да, эти объекты отслеживаются. - person Daria Dovzhikova; 16.10.2012