Procent zadeklarowanej pamięci w użyciu

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

Monitoruje licznik wydajności Pamięć\\% zadeklarowanych bajtów w użyciu

Knowledge Base article:

Podsumowanie

Licznik % zadeklarowanych bajtów w użyciu (Pamięć\% zadeklarowanych bajtów w użyciu) dla systemu przekroczył wartość progową. Ogólna wydajność systemu może znacząco się obniżyć, co spowoduje spadek wydajności systemu operacyjnego oraz aplikacji.

Licznik wydajności % zadeklarowanych bajtów w użyciu przedstawia stosunek wartości Pamięć\Zadeklarowane bajty do wartości Pamięć\Limit deklaracji. Wartość Zadeklarowane bajty oznacza ilość zadeklarowanej pamięci wirtualnej, a wartość Limit deklaracji to ilość pamięci wirtualnej, którą można zadeklarować bez konieczności rozszerzenia pliku stronicowania.

Przekroczenie tego progu wydajności często oznacza, że nie można rozszerzyć pliku stronicowania lub rozszerzanie go trwa zbyt długo, aby spełnić wymagania dotyczące pamięci aplikacji.

Przyczyny

Dostępnej pamięci fizycznej może zabraknąć w następujących sytuacjach:

Rozwiązania

Aby sprawdzić, czy występuje nadmierne stronicowanie, dodaj wartości liczników Śr. czas dysku (s)/Transfer (licznik dysku fizycznego) oraz Strony/s. Jeśli suma wartości tych liczników przekracza 0,1, stronicowanie zajmuje ponad 10 procent czasu dostępu do dysku. Jeśli ta sytuacja występuje w długim okresie, może to oznaczać konieczność rozszerzenia pamięci.

Następnie sprawdź, czy występuje nadmierne stronicowanie spowodowane uruchomionymi aplikacjami. Jeśli to możliwe, zatrzymaj działanie aplikacji o największej wartości zestawu roboczego i sprawdź, czy wpływa to znacząco na zmianę szybkości stronicowania. Jeśli istnieje podejrzenie nadmiernego stronicowania, sprawdź licznik Strony/s w Monitorze systemu. Ten licznik jest częścią typu obiektu pamięci i wskazuje liczbę stron, które muszą zostać odczytane z dysku, ponieważ nie znajdują się w pamięci fizycznej (uwaga: ten licznik różni się od licznika Błędy stron/s, który wskazuje tylko, że dane nie były natychmiast dostępne w określonym zestawie roboczym pamięci).

W celu zaradzenia niedostatecznej ilości pamięci fizycznej administrator może wykonać następujące czynności:

Jeśli w systemie zapewniono odpowiednią ilość pamięci fizycznej oraz obciążenie aplikacji, ale system stale przekracza próg dostępnej pamięci fizycznej, istnieje możliwość, że w aplikacji występuje przeciek pamięci. Aby zidentyfikować aplikację, w której występuje przeciek pamięci, administrator może wykonać następujące czynności:

Otwórz Monitor systemu i monitoruj następujące liczniki wydajności obejmujące cały system:

Jeśli wartość z dowolnego z tych liczników stale wzrasta, istnieje możliwość, że w aplikacji występuje przeciek pamięci. Aby wyświetlić ostatnią historię tych liczników wydajności, można użyć następującego widoku:

Jeśli istnieje prawdopodobieństwo przecieku pamięci w systemie, określoną aplikację można zidentyfikować, monitorując za pomocą Monitora systemu następujące liczniki dla każdego uruchomionego procesu:

Jeśli zauważysz stały i znaczący wzrost wartości w dowolnym z tych liczników, może być konieczne skontaktowanie się z dostawcą aplikacji w celu uzyskania pomocy.

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
Procent zadeklarowanej pamięci w użyciu jest zbyt wysoki
Próg licznika wydajności Pamięć\\% zadeklarowanych bajtów w użyciu został przekroczony.
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>