内存的可用兆字节

Microsoft.Windows.Server.10.0.OperatingSystem.MemoryAvailableMBytes (UnitMonitor)

监视可用内存级别。

Knowledge Base article:

摘要

降至阀值之下的系统的可用空间大小(内存\可用兆字节)。总体系统性能显著降低,并将导致操作系统和应用程序性能较差。

Available MBytes 是可供应用程序和进程使用的物理内存。

默认内存阈值为 100MB

原因

可用物理内存数量会在以下情况时降低:

解决方法

要查看 Memory\Available MBytes 计数器的最近历史记录,你可以使用以下视图:

启动内存可用兆字节性能视图

要解决低物理内存问题,管理员可选择以下一种或多种选项:

如果系统的物理内存和应用程序加载供应充足,但系统持续长时间超出可用的物理内存阈值,可能某个应用程序正在泄漏内存。要确定正在泄漏内存的应用程序,请执行以下操作:

打开系统监视器并在一段时间内监视下列系统范围的性能计数器:

如果这些计数器其中任一个长时间持续增加,则应用程序可能在泄漏内存。

如果系统出现内存泄漏,则可以通过监视正在运行的进程的以下计数器来确定具体的应用程序:

如果你观察到其中任何计数器持续显著增加,可能有必要联系应用程序供应商以寻求支持。

其他

有关监视内存计数器的详细信息,请参阅 Microsoft® Windows® 2000 Server 文档网站: http://go.microsoft.com/fwlink/?LinkId=27750

有关内存对象的详细信息,请参阅 MSDN 网站: http://go.microsoft.com/fwlink/?LinkId=27751

有关评估内存和缓存使用情况的详细信息,请参阅 Microsoft Windows 2000 资源工具包网站: http://go.microsoft.com/fwlink/?LinkId=27681

Element properties:

TargetMicrosoft.Windows.Server.10.0.OperatingSystem
Parent MonitorSystem.Health.PerformanceState
CategoryPerformanceHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.Windows.Server.10.0.MemoryAvailableMBytes.Monitortype
RemotableTrue
AccessibilityPublic
Alert Message
内存的可用兆字节太低
已超过 Memory\Available MBytes 性能计数器的阈值。超出阈值的值为: {0}。
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.Windows.Server.10.0.OperatingSystem.MemoryAvailableMBytes" Accessibility="Public" Enabled="true" Target="ServervNext!Microsoft.Windows.Server.10.0.OperatingSystem" ParentMonitorID="SystemHealth!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="Microsoft.Windows.Server.10.0.MemoryAvailableMBytes.Monitortype" ConfirmDelivery="false">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.Windows.Server.10.0.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>