Здравствуйте, Brother_, Вы писали:
B_>Привет! B_>Подскажите пожалуйста тулзовину для того, чтобы увидеть какие сборки дотнет-приложение подгрузило и сколько оперативной памяти они сжирают.
B_>Спасибо.
Что значит "и сколько оперативной памяти они сжирают"?
Если ваша сборка создала гигабайтный массив, то которая сборка сожрала память, ваша или mscorlib.dll?
Допустим-предположим, что ваша, т.к. она обратилась для выделения памяти под массив.
А если ваша сборка создала List<int> и запихала туда 250000 интов, то в этом случае которая из сборок сожрала память?
Re[2]: какие сборки дотнет-приложение подгрузило и сколько о
Здравствуйте, samius, Вы писали:
S>Здравствуйте, Brother_, Вы писали:
B_>>Привет! B_>>Подскажите пожалуйста тулзовину для того, чтобы увидеть какие сборки дотнет-приложение подгрузило и сколько оперативной памяти они сжирают.
B_>>Спасибо.
S>Что значит "и сколько оперативной памяти они сжирают"?
S>Если ваша сборка создала гигабайтный массив, то которая сборка сожрала память, ваша или mscorlib.dll? S>Допустим-предположим, что ваша, т.к. она обратилась для выделения памяти под массив.
S>А если ваша сборка создала List<int> и запихала туда 250000 интов, то в этом случае которая из сборок сожрала память?
я запустил приложение и оно сразу сожрало 100 мб.
я хочу увидеть занятую память в разрезе сборок.
Re[3]: какие сборки дотнет-приложение подгрузило и сколько о
Здравствуйте, Brother_, Вы писали:
B_>Подскажите пожалуйста тулзовину для того, чтобы увидеть … сколько оперативной памяти они сжирают.
Некорректное условие: память общая на процесс и не разделяется между сборками. Но, например, [теоритически] возможно увидеть, как распределена память между различными типами, а каждый тип пренадлежит одной единственной сборке, но это будет ответ на вопрос "обекты типов из каких сборок съедают память".
Help will always be given at Hogwarts to those who ask for it.
Re[2]: какие сборки дотнет-приложение подгрузило и сколько о
Здравствуйте, _FRED_, Вы писали:
_FR>Здравствуйте, Brother_, Вы писали:
B_>>Подскажите пожалуйста тулзовину для того, чтобы увидеть … сколько оперативной памяти они сжирают.
_FR>Некорректное условие: память общая на процесс и не разделяется между сборками. Но, например, [теоритически] возможно увидеть, как распределена память между различными типами, а каждый тип пренадлежит одной единственной сборке, но это будет ответ на вопрос "обекты типов из каких сборок съедают память".
Готов поспорить что mscorlib выйграет
Re[3]: какие сборки дотнет-приложение подгрузило и сколько о
Здравствуйте, gandjustas, Вы писали:
G>Здравствуйте, _FRED_, Вы писали:
_FR>>Здравствуйте, Brother_, Вы писали:
B_>>>Подскажите пожалуйста тулзовину для того, чтобы увидеть … сколько оперативной памяти они сжирают.
_FR>>Некорректное условие: память общая на процесс и не разделяется между сборками. Но, например, [теоритически] возможно увидеть, как распределена память между различными типами, а каждый тип пренадлежит одной единственной сборке, но это будет ответ на вопрос "обекты типов из каких сборок съедают память".
G>Готов поспорить что mscorlib выйграет
даже если используется девекспресс?
Re[4]: какие сборки дотнет-приложение подгрузило и сколько о
Здравствуйте, Brother_, Вы писали:
G>>Готов поспорить что mscorlib выйграет B_>даже если используется девекспресс?
Ты чего-то не понимаешь."Распределение памяти" по типам не дает ничего. Да, ты можешь легко узнать, что 98Мб памяти у тебя занимают строки (тип System.String), т.е. сборка mscorlib. Но ты не поймешь кто их создает и зачем.
"Сколько памяти съедается приложением в разрезе по сборкам" это что-то типа "сколько бензина потребляет автомобиль в разрезе по деталям. Что больше потребляет бензина при движении — колеса или коленвал?". Посмотреть можно, но сразу окажется, что больше всего бензина потребляет бензонасос Но это мало поможет для диагностики проблемы (если она вообще есть)
Смотреть надо по объектам кто куда и почему держит ссылки. Нужно ли им реально их удерживать или нет.
Re[5]: какие сборки дотнет-приложение подгрузило и сколько о
Здравствуйте, fmiracle, Вы писали:
F>Здравствуйте, Brother_, Вы писали:
G>>>Готов поспорить что mscorlib выйграет B_>>даже если используется девекспресс?
F>Ты чего-то не понимаешь."Распределение памяти" по типам не дает ничего. Да, ты можешь легко узнать, что 98Мб памяти у тебя занимают строки (тип System.String), т.е. сборка mscorlib. Но ты не поймешь кто их создает и зачем.
F>"Сколько памяти съедается приложением в разрезе по сборкам" это что-то типа "сколько бензина потребляет автомобиль в разрезе по деталям. Что больше потребляет бензина при движении — колеса или коленвал?". Посмотреть можно, но сразу окажется, что больше всего бензина потребляет бензонасос Но это мало поможет для диагностики проблемы (если она вообще есть)
F>Смотреть надо по объектам кто куда и почему держит ссылки. Нужно ли им реально их удерживать или нет.
спасибо, всё понял
буду смотреть по объектам
Re: какие сборки дотнет-приложение подгрузило и сколько опер
Здравствуйте, Brother_, Вы писали:
B_>Подскажите пожалуйста тулзовину для того, чтобы увидеть какие сборки дотнет-приложение подгрузило и сколько оперативной памяти они сжирают.
dotTrace, profile memory, record allocation stacktraces. Потом можно посмотреть, где, кто, сколько и чего навыделял.