Я использую профилировщик памяти redgate, чтобы найти утечку памяти. но это программное обеспечение показывает только системные классы. Я хочу найти страницу, которая создает проблему, пожалуйста, помогитеНайти страницу, которая утечки памяти в asp.net
ответ
При профилировании веб-сайта ASP.NET вы увидите много системных классов, потому что IIS делает много за кулисами, но ANTS Memory Profiler конечно isn ' t ограничивается отображением только системных классов.
Классы, для которых у вас есть исходный код, выделены жирным шрифтом в списке классов, и вы также можете использовать фильтрацию, чтобы отображать только классы, для которых у вас есть источник. Если у вас нет источника, но вы хотите выделить классы из определенного пространства имен (например, в вашем случае что-либо, что отсутствует в системе), вы можете сделать это, выбрав Группа по пространству имен.
МУРАВЬЕВ показывает вам объекты, которые удерживаются в памяти в момент, когда снимок памяти берется. Если список классов показывает вам, что ни один из ваших классов не существует в памяти, это потому, что они не в тот момент.
Вы не дали никакой информации, так что трудно дать много указаний в вашем конкретном случае, но в целом:
ли вы на самом деле есть проблема памяти? Используйте счетчики производительности на временной шкале ANTS, чтобы посмотреть на использование памяти во время использования вашего приложения. Если он не поднимется, возможно, у вас нет проблемы.
Убедитесь, что вы делаете снимки в нужное время. Это одна из самых трудных вещей, которые нужно сделать правильно. Во-первых, вам нужно убедиться, что сайт был правильно «разогрет». Если вы посмотрите на поведение первых постраничных страниц на сайте, вы не будете смотреть на нормальное поведение приложения из-за таких вещей, как одноразовые накладные расходы на настройку соединений, кеши, которые не используются, и т. Д. После того, как сайт нагревается , сделайте базовый снимок. Затем используйте приложение так, как вы ожидаете, может вызвать проблему, а затем сделать другой снимок. ANTS сравнивает использование памяти между двумя моментальными снимками и, в частности, показывает, какие классы используют больше памяти между моментальными снимками. Затем повторите свои действия (используйте свой сайт таким же образом, а затем сделайте еще один снимок) и найдите аналогичные увеличения.
Узнайте, почему происходит увеличение. Как только вы определили что-то, что кажется проблемой, используйте граф хранения экземпляра, чтобы понять цепи ссылок, которые заставляют этот объект храниться в памяти.
Известной проблемой диагностики утечки памяти ASP.NET, когда утечка только очень небольшой объем памяти, но делать это очень часто, например, при каждой загрузке страницы. Сайт может выглядеть отлично в среде dev, но затем не работает при загрузке. Полезным стартовым подходом может быть использование инструмента генерации нагрузки (вы можете начать с чего-то вроде бесплатного инструмента tinyget, который поставляется с IIS6, или использовать более сложные тесты нагрузки, если они у вас есть), и профилировать производительность приложения в этих условиях , Профилирование в производстве является рискованной мерой и должно быть сделано только в качестве крайней последней меры.
Я, кстати, работаю над командой профилировщика памяти. –
- 1. Помогите найти причину утечки памяти
- 2. Как найти место утечки памяти?
- 3. Обнаружение утечки памяти на сайте asp.net
- 4. Как найти утечки памяти в javascript
- 5. Найти утечки памяти в целевой панели vxworks
- 6. Утечки памяти в javaScript?
- 7. Как найти утечки памяти с помощью Clang
- 8. обнаружение утечки памяти в C
- 9. утечки памяти в Microsoft.FSharp.Control.Mailbox?
- 10. Может VS2010 помочь мне найти утечки памяти?
- 11. Как найти утечки памяти с помощью visualvm
- 12. Помогите найти утечки памяти (общие советы)
- 13. Лучшее решение, чтобы найти утечки памяти
- 14. C++ не может найти обнаруженные утечки памяти
- 15. утечки памяти в golang
- 16. Узел утечки памяти js
- 17. Утечки памяти в Инструментах
- 18. Утечки памяти в .NET
- 19. Утечки памяти в браузере
- 20. утечки памяти в Java
- 21. Утечки памяти в браузере
- 22. утечки памяти в делегатом
- 23. Утечки памяти в Javascript
- 24. Утечки памяти в iPhone
- 25. Утечки памяти в какао
- 26. Утечки памяти в Iphone
- 27. Утечки памяти в C
- 28. утечки памяти в iPhone
- 29. Утечки памяти в libxml2.2
- 30. Утечки памяти в Angular2
Утечки памяти в приложениях на основе GC довольно сложны. Вы действительно переживаете это? Я бы предложил опубликовать сам класс и задать вопрос: «Где утечка памяти?» – Dariusz
Профайлер памяти показывает только имя системного класса, например system.string, system.byte.но я хочу знать, какой класс или aspx.cs-страница преследует проблему. –
Теперь это ужасный профайлер. Правильно ли вы это используете? – Dariusz