Procentuell användning av allokerat minne

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

Övervakar prestandaräknaren Minne\\% använda dedikerade byte

Knowledge Base article:

Sammanfattning

% använda dedikerade byte (Minne\% använda dedikerade byte) för systemet har överskridit tröskelvärdet. Detta kan avsevärt försämra systemets övergripande prestanda vilket leder till försämrade operativsystems- och programprestanda.

Prestandaräknaren % använda dedikerade byte representerar förhållandet mellan Minne\Dedikerade byte och Minne\Dedikationsgräns. Dedikerade byte är mängden allokerat virtuellt minne, medan Dedikationsgräns är mängden virtuellt minne som kan dediceras utan att växlingsfilerna behöver utökas.

När den här prestandatröskeln har överskridits tyder det ofta på att det inte gick att utöka växlingsfilen eller inte utöka den tillräckligt fort, för att motsvara kraven på programminne.

Orsaker

Mängden tillgängligt fysiskt minne kan bli lågt under följande omständigheter:

Lösningar

Du kan kontrollera om överdriven växling sker genom att lägga till räknarvärdena Medel s/disköverföring (en fysisk diskräknare) och Sidor/s. Om produkten av dessa räknare överstiger 0,1 tar växlingen mer än 10 procent av tiden för diskåtkomst. Om det här inträffar över lång tid behövs förmodligen mer minne.

Nästa steg är att kontrollera om överdriven växling sker p.g.a. program som körs. Stoppa om möjligt programmet med högst värde för aktiv sidmängd och se om det här märkbart påverkar växlingen. Om du misstänker att överdriven växling sker kontrollerar du räknaren Sidor/s i systemövervakaren. Den här räknaren är en del av objekttypen Minne och visar antal sidor som lästes från disken p.g.a. att de inte fanns i det fysiska minnet. (Observera skillnaden mellan den här räknaren och Sidfel per sekund, som bara indikerar att data inte omedelbart var tillgängliga i den angivna aktiva sidmängden i minnet.)

En administratör kan välja något av följande alternativ för att åtgärda ett tillstånd med för lite fysiskt minne:

Om systemet har tillräckligt med allokerat fysiskt minne och lämplig programbelastning, men regelbundet och över tid överskrider tröskelvärdet för tillgängligt fysiskt minne, kan orsaken vara att ett program läcker minne. Så här identifierar en administratör om ett program läcker minne:

Öppna systemövervakaren och övervaka följande systemomfattande prestandaräknare över tid:

Om någon av dessa räknare fortsätter att öka över tid, kan orsaken vara att ett program läcker minne. Om du vill visa den senaste historiken för dessa prestandaräknare kan du använda följande vy:

Om systemet verkar läcka minne identifierar du det aktuella programmet genom att övervaka följande räknare för varje process som körs, med hjälp av systemövervakaren:

Om du observerar en bestående och märkbar ökning för någon av dessa räknare, kan du bli tvungen att kontakta programtillverkaren för ytterligare support.

Element properties:

TargetMicrosoft.Windows.Server.10.0.OperatingSystem
Parent MonitorSystem.Health.PerformanceState
CategoryPerformanceHealth
EnabledFalse
Instance NameMemory
Counter Name\% Committed Bytes In Use
Frequency120
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeSystem.Performance.ConsecutiveSamplesThreshold
RemotableTrue
AccessibilityPublic
Alert Message
Procentuell användning av allokerat minne är för hög
Tröskelvärdet för prestandaräknaren Minne\\% använda dedikerade byte har överskridits.
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.Windows.Server.10.0.OperatingSystem.PercentCommittedBytesInUse" Accessibility="Public" Enabled="false" Target="ServervNext!Microsoft.Windows.Server.10.0.OperatingSystem" ParentMonitorID="SystemHealth!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="SystemPerf!System.Performance.ConsecutiveSamplesThreshold" ConfirmDelivery="false">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.Windows.Server.10.0.OperatingSystem.PercentCommittedBytesInUse.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
<AlertParameters/>
</AlertSettings>
<OperationalStates>
<OperationalState ID="UnderThreshold" MonitorTypeStateID="ConditionFalse" HealthState="Success"/>
<OperationalState ID="OverThreshold" MonitorTypeStateID="ConditionTrue" HealthState="Error"/>
</OperationalStates>
<Configuration>
<ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<CounterName>% Committed Bytes In Use</CounterName>
<ObjectName>Memory</ObjectName>
<InstanceName/>
<Frequency>120</Frequency>
<Threshold>80</Threshold>
<Direction>greater</Direction>
<NumSamples>3</NumSamples>
</Configuration>
</UnitMonitor>