Potential memory leak in web application code

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

This monitor looks at events logged when the application pool is recycled due to exceeding the configured memory thresholds and will change its state to warning if the application pool is recycled too frequently (based on the configuration of the monitor). This is a manual reset monitor which means it will not switch to healthy state automatically. To switch the monitor to healthy state you will need to reset the monitor using health explorer.

Knowledge Base article:

Summary

The application pool is recycled too frequently because its virtual or physical memory consumption reached the configured limit. This could be indicative of a memory leak inside the code which the application pool is executing.

Configuration

The way this monitor works is it looks for a number of application pool recycling events due to reaching the configured memory usage threshold (this is configured inside IIS Admin tools). There are two parameters you can configure for this monitor. The first is "Number Of Occurrences", this is the number of times that events which the monitor is looking for need to occur in the configured time interval. The second parameter is "Number Of Minutes", this is the time interval in which the monitor looks for the event occurrences.

Causes

Resolutions

To check or configure application pool limit settings by using IIS Manager:

Note: Because this is a manual reset monitor, after fixing the problem you will need to reset the state of this monitor in health explorer. You can do this by right clicking on the monitor and selecting the "Reset Health" menu item. Unless you manually reset the monitor, it will not switch to healthy state.

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
Potential memory leak in web application code
Application Pool {0} on server {1} was restarted several times due to exceeding memory thresholds specified for this application pool. This could indicate a memory leak inside the web application's code.
RunAsDefault