Здравствуйте, Serginio1, Вы писали:
S>Есть web сервис. И занимаемая память растет неравномерно. S>Можно ли программно узнать сколько объектов по типам сейчас в памяти для .Net 3.5?
S>То есть я могу сам по таймеру через GC.GetTotalMemory(true) и при достижении некоторых значений записать в лог, а потом сравнить динамику роста. S>Или есть уже какие то удобные профайлеры?
Здравствуйте, Serginio1, Вы писали:
S>Или есть уже какие то удобные профайлеры?
1. То ли в 2013-ю, то ли в 2015-ю студию включили профайлер памяти и производительности. Работал сносно.
Я немножко подзабыл, поправьте, кто в курсе.
По-момему, в реалтайме можно наблюдать грубый график изменения количества используемой памяти. А после остановки программы, профайлер готовит детальный отчет.
Из особенностей. Для комфортной работы требует 16Г памяти десятки ГБ на диске.
2. До этого я использовал EQATEC Profiler (https://habrahabr.ru/post/109418/). Какую-то из раних версий. Она глючная, но беззащитная. Тоже хватало.
Есть еще несколько альтернатив. Я их не пробовал.
Re: Получить количество объектов в памяти по типам
Здравствуйте, Serginio1, Вы писали:
S>Есть web сервис. И занимаемая память растет неравномерно. S>Можно ли программно узнать сколько объектов по типам сейчас в памяти для .Net 3.5?
S>То есть я могу сам по таймеру через GC.GetTotalMemory(true) и при достижении некоторых значений записать в лог, а потом сравнить динамику роста. S>Или есть уже какие то удобные профайлеры?
.NET Memory profiler? или нужно именно самому в коде узнать?
Шурыгин Сергей
"Не следует преумножать сущности сверх необходимости" (с) Оккам
Есть web сервис. И занимаемая память растет неравномерно.
Можно ли программно узнать сколько объектов по типам сейчас в памяти для .Net 3.5?
То есть я могу сам по таймеру через GC.GetTotalMemory(true) и при достижении некоторых значений записать в лог, а потом сравнить динамику роста.
Или есть уже какие то удобные профайлеры?
и солнце б утром не вставало, когда бы не было меня
Re[2]: Получить количество объектов в памяти по типам
Здравствуйте, Mihas, Вы писали:
M>Здравствуйте, Serginio1, Вы писали:
S>>Или есть уже какие то удобные профайлеры?
M>1. То ли в 2013-ю, то ли в 2015-ю студию включили профайлер памяти и производительности. Работал сносно. M>Я немножко подзабыл, поправьте, кто в курсе. M>По-момему, в реалтайме можно наблюдать грубый график изменения количества используемой памяти. А после остановки программы, профайлер готовит детальный отчет. M>Из особенностей. Для комфортной работы требует 16Г памяти десятки ГБ на диске.
M>2. До этого я использовал EQATEC Profiler (https://habrahabr.ru/post/109418/). Какую-то из раних версий. Она глючная, но беззащитная. Тоже хватало.
M>Есть еще несколько альтернатив. Я их не пробовал.
Большое спасибо! Интересно.
и солнце б утром не вставало, когда бы не было меня
Re[2]: Получить количество объектов в памяти по типам
Здравствуйте, Mihas, Вы писали:
M>Из особенностей. Для комфортной работы требует 16Г памяти десятки ГБ на диске.
VS2017 — при попытке получить подробную информацию по памяти через "take snapshot" на 32-х битном процессе у которого почти переполнена куча — она мило заявила что ничегошеньки сделать не может. Разумеется и системной и дисковой памяти полно.
PS: Я правда не стал её дальше насиловать, где проблема с памятью была и так было ясно. Просто с учётом third party — хотелось чуть больше подробностей.