Monitoruje licznik wydajności Pamięć\Wolne wpisy tabeli stron systemu
Tabela stron to struktura danych używana przez program Windows Virtual Memory Manager (VMM) do zapisywania mapowań między adresami wirtualnymi i adresami fizycznymi w pamięci. Licznik wydajności Wolne wpisy tabeli stron systemu to liczba wpisów tabeli stron, która nie jest aktualnie używana przez system.
Gdy w systemie zacznie brakować wolnych wpisów tabeli stron, żądania pamięci przesyłane przez aplikacje lub sterowniki mogą być odrzucane bądź komputer może przestać odpowiadać na żądania sieciowe, przez co będzie się wydawać, że system zniknął z sieci. Próby logowania do systemu mogą się nie powieść, ponieważ serwer może nie odpowiadać.
Ogólnie rzecz biorąc, ten problem jest powodowany przez wysokie użycie pamięci. Problem ten występuje częściej w systemach 32-bitowych lub systemach używających specjalnych przełączników rozruchowych w celu zmiany domyślnego sposobu zarządzania pamięcią systemu operacyjnego.
Możliwe są następujące rozwiązania:
Upewnij się, że na serwerze zastosowano najnowsze poprawki systemu operacyjnego, sterowników i ważnych aplikacji.
Sprawdź, czy w pliku BOOT.INI używane są jakieś specjalne przełączniki rozruchowe, które mogą wpływać na sposób zarządzania pamięcią wirtualną przez system. Jeśli tak, upewnij się, że te przełączniki są wymagane i zostały zaimplementowane w najlepszy możliwy sposób.
Aby uzyskać bardzo szczegółowe instrukcje dotyczące sposobu diagnozowania problemów z wyczerpaniem wolnych wpisów tabeli stron systemu, zapoznaj się z dokumentem „Detection, Analysis, and Corrective Actions for Low Page Table Entry Issues” (Wykrywanie, analizowanie i działania naprawcze dla problemów z małą liczbą wpisów tabeli stron), który można pobrać z Centrum pobierania Microsoft pod adresem http://go.microsoft.com/fwlink/?LinkId=201347.
Jeśli problem nadal występuje oraz jest używany system w wersji 32-bitowej i/lub system starszy niż Windows Server 2016, rozważ przeprowadzenie uaktualnienia do systemu Microsoft Windows Server 2016 lub nowszego i/lub przeniesienie obciążenia do systemu 64-bitowego.
Target | Microsoft.Windows.Server.10.0.OperatingSystem | ||
Parent Monitor | System.Health.PerformanceState | ||
Category | PerformanceHealth | ||
Enabled | True | ||
Instance Name | Memory | ||
Counter Name | Free System Page Table Entries | ||
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.10.0.OperatingSystem.MemoryFreeSystemPageTableEntries" Accessibility="Public" Enabled="true" 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.MemoryFreeSystemPageTableEntries.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>Free System Page Table Entries</CounterName>
<ObjectName>Memory</ObjectName>
<InstanceName/>
<Frequency>300</Frequency>
<Threshold>5000</Threshold>
<Direction>lessequal</Direction>
<NumSamples>6</NumSamples>
</Configuration>
</UnitMonitor>