Мониторинг счетчика производительности "Память\свободные записи системной таблицы страниц"
Таблица страниц — это структура данных, используемая диспетчером виртуальной памяти Windows (VMM) для хранения данных о сопоставлении между виртуальными адресами и физическими адресами в памяти. Счетчик производительности "Свободные записи системной таблицы страниц" отражает число записей таблицы страниц, не используемых системой.
Когда системе начинает не хватать свободных записей таблицы страниц, запросы памяти, размещаемые приложениями или драйверами, могут отклоняться, а компьютер может перестать отвечать на сетевые запросы, исчезнув из сети. Вход в систему может быть невозможным из-за того, что сервер не отвечает на запросы.
Вообще говоря, проблема вызвана высокой степенью использования памяти. Эта проблема может чаще встречаться в 32-разрядных системах или системах, в которых используются специальные параметры загрузки для изменения методов управления памятью, используемых в операционной системе по умолчанию.
Возможные способы устранения:
Убедитесь, что установлены самые последние обновления операционной системы, драйверов и важных приложений.
Определите, используются ли специальные ключи загрузки операционной системы в файле BOOT.INI, которые могут влиять на управление виртуальной памятью в системе. При их наличии убедитесь в том, что они необходимы и применены оптимальным образом.
Чтобы получить развернутые инструкции по диагностике проблем, связанных с нехваткой свободных записей в системной таблице страниц, обратитесь к документу Detection, Analysis, and Corrective Actions for Low Page Table Entry Issues (Обнаружение, анализ и корректирующие действия при проблемах, связанных с нехваткой свободных записей в таблице страниц). Этот документ можно скачать из Центра загрузки Майкрософт по адресу http://go.microsoft.com/fwlink/?LinkId=201347.
Если проблему устранить не удается, а система является 32-разрядной и (или) работает под управлением ОС более ранней версии, чем Windows Server 2016, рекомендуется обновиться до Microsoft Windows Server 2016 или более поздней версии и (или) перенести рабочую нагрузку в 64-разрядную систему.
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>