Virtual Machine Manager 動態記憶體 VM 壓力

ProHostVMMemoryPressureUnitMonitor (UnitMonitor)

這是一個單位監視器,用來檢查特定虛擬機器的記憶體需求是否超出已指派記憶體的特定百分比。

Knowledge Base article:

摘要

此監視器會追蹤已啟用 Hyper-V 動態記憶體之虛擬機器的記憶體壓力,並在壓力超出使用者定義的閾值時產生警示。預設閾值為 80% (警告) 與 100% (錯誤)。

原因

虛擬機器的記憶體壓力已超出定義的閾值。

解決方式

移轉虛擬機器或調整虛擬機器的目標記憶體壓力來改善狀況。

Element properties:

TargetMicrosoft.SystemCenter.VirtualMachineManager.PRO.V2.ManagedHost.HyperV
Parent MonitorSystem.Health.PerformanceState
CategoryCustom
EnabledFalse
Alert GenerateTrue
Alert SeverityMatchMonitorHealth
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.SystemCenter.VirtualMachineManager.PRO.VMPressure
RemotableTrue
AccessibilityPublic
Alert Message
PRO 動態記憶體 VM 壓力
記憶體需求為已指派記憶體的 {0}\%,且已經超出 {1} 的重大或警告層級。
RunAsDefault

Source Code:

<UnitMonitor ID="ProHostVMMemoryPressureUnitMonitor" Accessibility="Public" Enabled="false" Target="Microsoft.SystemCenter.VirtualMachineManager.PRO.V2.ManagedHost.HyperV" ParentMonitorID="Health!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="Microsoft.SystemCenter.VirtualMachineManager.PRO.VMPressure" ConfirmDelivery="false">
<Category>Custom</Category>
<AlertSettings AlertMessage="ProHostVMMemoryPressureUnitMonitor_AlertMessageResourceID">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>MatchMonitorHealth</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Data/Context/SampleValue$</AlertParameter1>
<AlertParameter2>$Data/Context/InstanceName$</AlertParameter2>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="VMMemoryPressureUnitMonitor_StateSuccess" MonitorTypeStateID="ConditionSuccess" HealthState="Success"/>
<OperationalState ID="VMMemoryPressureUnitMonitor_StateWarning" MonitorTypeStateID="ConditionWarn" HealthState="Warning"/>
<OperationalState ID="VMMemoryPressureUnitMonitor_StateError" MonitorTypeStateID="ConditionError" HealthState="Error"/>
</OperationalStates>
<Configuration>
<IntervalSeconds>300</IntervalSeconds>
<VMNames>$Target/Property[Type="Microsoft.SystemCenter.VirtualMachineManager.PRO.V2.ManagedHost.HyperV"]/VMNames$</VMNames>
<WarningThreshold>80</WarningThreshold>
<ErrorThreshold>100</ErrorThreshold>
<ConsecutiveSamples>3</ConsecutiveSamples>
</Configuration>
</UnitMonitor>