Запуск в колючую проблему с нашим веб-приложением здесь. (Asp.net 2.0 Win server 2008)
Наше использование памяти для веб-сайта растет и растет, хотя я ожидаю, что он останется на довольно статическом уровне. (У нас есть небольшой объем данных, которые сохраняются в состоянии).
Чтобы узнать, в чем проблема, я запустил System.GC.Collect(); несколько раз, взял дамп памяти, а затем загрузил этот дамп памяти в WinDbg.
Когда я делаю DumpHeap -Stat, я получаю чрезмерно большое количество на конкретном типе, висящем в памяти.
0000064280580b40 713471 79908752 PaymentOption
поэтому, делая DumpHeap -MT для этого типа, я получаю стек ссылок на объекты. Выбрав случайное число из них, я делаю a! Gcroot, и команда возвращается, сообщая, что ссылки на нее не поддерживаются.
Для меня это точно, когда GC должен собирать эти предметы, но по какой-то причине они остались незаметными.
Может ли кто-нибудь дать объяснение, что может произойти?