Monitors the available memory level.
The Available MBytes (Memory\Available MBytes) for the system has exceeded the threshold. Overall system performance may significantly diminish which will result in poor operating system and application performance.
Available MBytes is the amount of physical memory that is available for use by applications and processes.
The amount of available physical memory can become low under the following circumstances:
Too many applications are running simultaneously on the computer.
An application may be leaking memory over time.
To view recent history for the Memory\Available MBytes counter you can use the following view:
Start Memory Available MBytes Performance View
To address a low physical memory condition an administrator may chose one or more of the following options:
Close or stop one or more applications, services, processes.
Add additional Physical Memory to the computer.
Move applications to one or more additional servers.
If the system has been adequately provisioned with physical memory and application load but it continually exceeds the available physical memory threshold over time, it is possible that an application is leaking memory. To identify an application that is leaking memory, do the following:
Open System Monitor and monitor the following system wide performance counters over time:
Paging File\% Usage
Paging File\%
Memory\Pool Nonpaged Bytes
Memory\Pool Paged Bytes
If any one of these counters continually increase over time, it is possible that an application may be leaking memory.
If the system appears to be leaking memory, the specific application can be identified by monitoring the following counters for each running process:
Process\Page File Bytes
Process\Pool Nonpaged Bytes
Process\Pool Paged Bytes
Process\Private Bytes
Process\Thread Count
If you observe a consistent and significant increase in any of these counters, it may be necessary to contact the application vendor for support.
For more information about monitoring memory counters, see the Microsoft® Windows® 2000 Server Documentation Web site at: http://go.microsoft.com/fwlink/?LinkId=27750.
For more information about memory objects, see the MSDN Web site at: http://go.microsoft.com/fwlink/?LinkId=27751.
For more information about evaluating memory and cache usage, see the Microsoft Windows 2000 Resource Kit Web site at: http://go.microsoft.com/fwlink/?LinkId=27681.
Target | Microsoft.Windows.Server.6.2.OperatingSystem | ||
Parent Monitor | System.Health.PerformanceState | ||
Category | PerformanceHealth | ||
Enabled | True | ||
Alert Generate | True | ||
Alert Severity | Error | ||
Alert Priority | Normal | ||
Alert Auto Resolve | True | ||
Monitor Type | Microsoft.Windows.Server.6.2.MemoryAvailableMBytes.Monitortype | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<UnitMonitor ID="Microsoft.Windows.Server.6.2.OperatingSystem.MemoryAvailableMBytes" Accessibility="Public" Enabled="true" Target="WindowsServer!Microsoft.Windows.Server.6.2.OperatingSystem" ParentMonitorID="SystemHealth!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="Microsoft.Windows.Server.6.2.MemoryAvailableMBytes.Monitortype" ConfirmDelivery="false">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.Windows.Server.6.2.OperatingSystem.MemoryAvailableMBytes.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Data/Context/Property[@Name='AvailableMBytes']$</AlertParameter1>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="OverThreshold" MonitorTypeStateID="MemoryAvailableMBytesNormal" HealthState="Success"/>
<OperationalState ID="UnderThreshold" MonitorTypeStateID="MemoryAvailableMBytesLow" HealthState="Error"/>
</OperationalStates>
<Configuration>
<IntervalSeconds>900</IntervalSeconds>
<TimeoutSeconds>300</TimeoutSeconds>
<TargetComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</TargetComputerName>
<MemoryThreshold>100</MemoryThreshold>
<NumSamples>3</NumSamples>
<CounterName>Available MBytes</CounterName>
<ObjectName>Memory</ObjectName>
<InstanceName/>
<AllInstances>false</AllInstances>
</Configuration>
</UnitMonitor>