Possível perda de memória no código de aplicativo Web

Microsoft.Windows.InternetInformationServices.10.0.ApplicationPool.MemoryLeak.Monitor (UnitMonitor)

Este monitor olha os eventos registrados quando o pool de aplicativos é reciclado por exceder os limites de memória configurados e alterará seu estado para um aviso se o pool de aplicativos for reciclado com muita frequência (com base na configuração do monitor). Este é um monitor de redefinição manual o que significa que não será alternado para o estado íntegro automaticamente. Para alternar o monitor para o estado íntegro será necessário redefinir o monitor usando o gerenciador de integridade.

Knowledge Base article:

Resumo

O pool de aplicativos é reciclado com muita frequência porque seu consumo de memória física ou virtual atingiu o limite configurado. Isso pode indicar que existe uma perda de memória dentro do código que o pool de aplicativos está executando.

Configuração

Este monitor trabalha procurando o número de eventos de reciclagem do pool de aplicativos por atingir o limite configurado de uso da memória (isso é configurado nas ferramentas de administração do IIS). Dois parâmetros podem ser configurados neste monitor. O primeiro é "Número de ocorrências", o número de vezes que os eventos procurados pelo monitor precisam ocorrer no intervalo de tempo configurado. O segundo parâmetro é "Número de minutos", o intervalo de tempo no qual o monitor procura as ocorrências dos eventos.

Causas

Resoluções

Para verificar ou definir as configurações dos limites do pool de aplicativos usando o Gerenciador do IIS:

Observação: Como este é um monitor de redefinição manual, depois de corrigir o problema é necessário redefinir o estado do monitor no gerenciador de integridade. Para fazer isso, clique com o botão direito do mouse no monitor e selecione o item de menu "Redefinir integridade". Se você não redefinir manualmente o monitor, ele não alternará para o estado íntegro.

Element properties:

TargetMicrosoft.Windows.InternetInformationServices.10.0.ApplicationPool
Parent MonitorSystem.Health.AvailabilityState
CategoryAvailabilityHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityWarning
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.Windows.InternetInformationServices.10.0.RepeatedEventLogManualReset2StateMonitorType
RemotableTrue
AccessibilityPublic
Alert Message
Possível perda de memória no código de aplicativo Web
O pool de aplicativos {0} no servidor {1} foi reiniciado diversas vezes por exceder os limites de memória especificados para este pool de aplicativos. Isso pode indicar uma perda de memória dentro do código do aplicativo Web.
RunAsDefault