内存池碎片(A3Com)

System.NetworkManagement.A3Com.Memory.ExcessiveFragmentation (UnitMonitor)

监视内存池中的内存碎片级别

Knowledge Base article:

摘要

该监视器指示此内存池中的内存碎片级别。此监视器有两种可能的状态:

配置

可以为此监视器配置以下选项:

选项

定义

默认

间隔

检查设备状态时间间隔(以秒为单位)

240 秒

重试次数

在丢弃时间间隔样本之前,每个监视时间间隔中的尝试次数

3

样本数

监视器更改状态之前的连续样本数

3

超时

样本超时并重新尝试对值进行取样之前等待设备响应的时间量(以毫秒为单位)

3,500 毫秒

阈值

最大可用缓冲区百分比,若低于该百分比,则将内存视为有碎片

10

原因

此监视器在此设备上的系统内存有大量碎片时进入错误状态。最大可用内存缓冲区百分比将与阈值(默认阈值为 10)进行比较。最大可用内存缓冲区百分比是通过将池中的最大连续内存缓冲区与池中的其余可用内存相比较而计算得出的。

解决方法

使用运行状况资源管理器,在监视器的“状态更改事件”选项卡上检查状态更改的详细信息。此数据显示测量的最大可用内存缓冲区百分比,该百分比导致运行状况状态发生更改。有关问题和故障排除过程的详细信息,请查阅设备制造商的文档。

Element properties:

TargetSystem.NetworkManagement.A3Com_Performance_Memory
Parent MonitorSystem.NetworkManagement.Memory.MemoryException
CategoryPerformanceHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityMatchMonitorHealth
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeSystem.NetworkManagement.ComputedExcessiveFragmentationMonitorType
RemotableTrue
AccessibilityPublic
Alert Message
过多内存碎片警报
{0} 上的最大可用内存缓冲区低于此阈值。最大可用内存缓冲区是可用内存总量的 {1}\%。
RunAsDefault

Source Code:

<UnitMonitor ID="System.NetworkManagement.A3Com.Memory.ExcessiveFragmentation" Accessibility="Public" Enabled="true" Target="NetworkLibrary!System.NetworkManagement.A3Com_Performance_Memory" ParentMonitorID="System.NetworkManagement.Memory.MemoryException" Remotable="true" Priority="Normal" TypeID="System.NetworkManagement.ComputedExcessiveFragmentationMonitorType" ConfirmDelivery="false">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="System.NetworkManagement.Generic.Memory.ExcessiveFragmentation.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>MatchMonitorHealth</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Host/Property[Type="System!System.Entity"]/DisplayName$</AlertParameter1>
<AlertParameter2>$Data/Context/Value$</AlertParameter2>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="UnderThreshold" MonitorTypeStateID="MTSThresholdError" HealthState="Error"/>
<OperationalState ID="OverThreshold" MonitorTypeStateID="MTSThresholdSuccess" HealthState="Success"/>
</OperationalStates>
<Configuration>
<Interval>300</Interval>
<NoOfRetries>3</NoOfRetries>
<Timeout>3500</Timeout>
<LargestFreeBufferOID>.1.3.6.1.4.1.43.45.1.6.1.2.1.1.5.$Target/Property[Type="NetworkLibrary!System.NetworkManagement.LogicalDevice"]/Index$</LargestFreeBufferOID>
<FreeMemoryOID>.1.3.6.1.4.1.43.45.1.6.1.2.1.1.3.$Target/Property[Type="NetworkLibrary!System.NetworkManagement.LogicalDevice"]/Index$</FreeMemoryOID>
<ValidMemoryOID>.1.3.6.1.4.1.43.45.1.6.1.2.1.1.5.$Target/Property[Type="NetworkLibrary!System.NetworkManagement.LogicalDevice"]/Index$</ValidMemoryOID>
<ValidMemoryRegEx>.*</ValidMemoryRegEx>
<Threshold>10</Threshold>
<NumberOfSamples>3</NumberOfSamples>
<ObjectName>Memory</ObjectName>
<CounterName>Largest Free Buffer %</CounterName>
</Configuration>
</UnitMonitor>