У нас есть пул приложений в IIS, которому принадлежат несколько приложений. Согласно диспетчеру задач, этот пул приложений использует более 4 ГБ памяти, и мне нужно выяснить, какое конкретное приложение является причиной этого.
Есть ли способ получить больше информации?
Вы можете использовать Performance Monitor и Debug Diag для создания дампов в условиях использования высокой памяти, включая использование памяти IIS. Performance Monitor позволит вам отслеживать используемую память Asp.NET (там есть несколько счетчиков), а Debug Diag позволит вам записывать пользовательские дампы на основе счетчиков производительности.
После того, как Debug Diag обработает дамп, он сообщит вам, какие процессы используют сколько памяти.
Есть более длинная статья Вот. Надеюсь, это поможет.
Я мог бы выбрать более простой подход и просто поместить каждый сайт в отдельный пул приложений и посмотреть, какой из них выходит из-под контроля.
С помощью инструментов обозревателя процессов проверьте, увеличивает ли количество дисковых операций приложение. Эти инструменты предоставят вам подробную информацию о файлах и информации о файлах, которые открываются и используются в проблемном процессе. Это позволит нам узнать, сколько файловых дескрипторов и других дескрипторов (сокет, поток, дескриптор мьютекса и т. Д.) Используется процессом, вызывающим озабоченность, во время простоя.