Monitoruje licznik wydajności Pamięć\Liczba stron pamięci na sekundę
Szybkość, z jaką system stronicuje pamięć na dysk i/lub z dysku, jest zbyt wysoka. To monitorowanie jest oparte na liczniku „Pamięć\Strony/s”, stanowiącym podstawowy wskaźnik rodzaju błędów, które powodują opóźnienia całego systemu. Ogólna wydajność systemu może się znacząco obniżyć.
Licznik Strony/s wskazuje szybkość, z jaką strony są odczytywane z dysku lub zapisywane na dysk w celu rozwiązania sprzętowych błędów stron.
Jedna lub więcej aplikacji intensywnie korzysta z pamięci, a system musi wykonywać stronicowanie danych z i na dysk, aby sprostać zapotrzebowaniu.
Aby zidentyfikować procesy zwiększające ogólne użycie pamięci w systemie i szybkość stronicowania, użyj następujących liczników z obiektu „Proces” w monitorze wydajności:
Błędy stron/s: Licznik Błędy stron/s jest wskaźnikiem szybkości, z jaką błędy stron występują w wątkach wykonywanych w tym procesie. Błąd strony powstaje wtedy, gdy wątek odwołuje się do strony pamięci wirtualnej, której nie ma w jego zestawie roboczym w pamięci głównej. Nie musi to powodować pobrania strony z dysku, jeżeli znajduje się ona na liście gotowości i w związku z tym jest już w pamięci głównej lub jeżeli jest używana przez inny proces, z którym jest współużytkowana.
Bajty w puli niestronicowanej: Licznik Bajty w puli niestronicowanej wskazuje rozmiar (w bajtach) puli niestronicowanej, czyli obszaru pamięci systemowej (pamięci fizycznej używanej przez system operacyjny) przeznaczonego dla obiektów, które nie mogą być zapisywane na dysku, ale muszą pozostawać w pamięci fizycznej przez cały czas, gdy są przydzielone. Wartość licznika Pamięć\\Bajty w puli niestronicowanej jest obliczana inaczej niż Proces\\Bajty w puli niestronicowanej, więc może ona nie być równa wartości Proces\\Bajty w puli niestronicowanej\\_Total. Ten licznik pokazuje tylko ostatnią zmierzoną wartość, a nie wartość średnią.
Bajty w puli stronicowanej: Licznik Bajty w puli stronicowanej wskazuje rozmiar (w bajtach) puli stronicowanej, czyli obszaru pamięci systemowej (pamięci fizycznej używanej przez system operacyjny) przeznaczonego dla obiektów, które mogą być zapisywane na dysku, jeżeli nie są używane. Wartość licznika Pamięć\\Bajty w puli stronicowanej jest obliczana inaczej niż Proces\\Bajty w puli stronicowanej, więc może ona nie być równa wartości Proces\\Bajty w puli stronicowanej\\_Total. Ten licznik pokazuje tylko ostatnią zmierzoną wartość, a nie wartość średnią.
Rozwiązania mogą się różnić w zależności od wyników tych badań i mogą obejmować:
Zastosowanie aktualizacji systemu operacyjnego lub aplikacji w celu upewnienia się, że wszystkie znane problemy z pamięcią zostały usunięte.
Ograniczenie liczby aplikacji uruchomionych w systemie lub zmniejszenie obciążenia systemu.
Dodanie więcej pamięci RAM do systemu.
Target | Microsoft.Windows.Server.2008.OperatingSystem | ||
Parent Monitor | System.Health.PerformanceState | ||
Category | PerformanceHealth | ||
Enabled | True | ||
Instance Name | Memory | ||
Counter Name | Pages/Sec | ||
Frequency | 300 | ||
Alert Generate | True | ||
Alert Severity | Warning | ||
Alert Priority | Normal | ||
Alert Auto Resolve | True | ||
Monitor Type | System.Performance.ConsecutiveSamplesThreshold | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<UnitMonitor ID="Microsoft.Windows.Server.2008.OperatingSystem.MemoryPagesPerSecond" Accessibility="Public" Enabled="true" Target="Server2008!Microsoft.Windows.Server.2008.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.2008.OperatingSystem.MemoryPagesPerSecond.AlertMessage">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Warning</AlertSeverity>
<AlertParameters/>
</AlertSettings>
<OperationalStates>
<OperationalState ID="OverThreshold" MonitorTypeStateID="ConditionTrue" HealthState="Warning"/>
<OperationalState ID="UnderThreshold" MonitorTypeStateID="ConditionFalse" HealthState="Success"/>
</OperationalStates>
<Configuration>
<ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<CounterName>Pages/Sec</CounterName>
<ObjectName>Memory</ObjectName>
<InstanceName/>
<Frequency>300</Frequency>
<Threshold>5000</Threshold>
<Direction>greaterequal</Direction>
<NumSamples>12</NumSamples>
</Configuration>
</UnitMonitor>