Мониторинг счетчика производительности "Память\свободные записи системной таблицы страниц"
Таблица страниц — это структура данных, используемая диспетчером виртуальной памяти Windows (Windows Virtual Memory Manager, VMM) для хранения данных о сопоставлении между виртуальными адресами и физическими адресами в памяти. Счетчик производительности "Свободные записи системной таблицы страниц" отражает количество записей таблицы страниц, не используемых системой.
Когда системе начинает не хватать свободных записей таблицы страниц, запросы памяти, размещаемые приложениями или драйверами, могут отклоняться, а компьютер может перестать отвечать на сетевые запросы, исчезнув из сети. Вход в систему может быть невозможным из-за того, что сервер не отвечает на запросы.
Вообще говоря, проблема вызвана высокой степенью использования памяти. Эта проблема может чаще встречаться в 32-разрядных системах или системах, в которых используются специальные ключи загрузки для изменения методов управления памятью, используемых в операционной системе по умолчанию.
Возможные способы устранения:
Убедитесь, что установлены самые последние обновления операционной системы, драйверов и важных приложений.
Определите, используются ли специальные ключи загрузки операционной системы в файле BOOT.INI, которые могут влиять на управление виртуальной памятью в системе. При их наличии убедитесь в том, что они необходимы и применены оптимальным образом.
Развернутые сведения о диагностике проблем, связанных с нехваткой свободных записей системной таблицы страниц обратитесь к документу "Обнаружение, анализ и корректирующие действия при проблемах, связанных с нехваткой свободных записей таблицы страниц". Этот документ можно загрузить из центра загрузки Майкрософт по адресу http://go.microsoft.com/fwlink/?LinkId=201347.
Если проблему устранить не удается, а система является 32-разрядной и/или работает под управлением ОС более раней версии, чем Windows Server 2012, рекомендуется выполнить обновление до Microsoft Windows Server 2012 или более поздней версии и/или перенести рабочую нагрузку в 64-разрядную систему.
Target | Microsoft.Windows.Server.6.2.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.6.2.OperatingSystem.MemoryFreeSystemPageTableEntries" Accessibility="Public" Enabled="true" Target="WindowsServer!Microsoft.Windows.Server.6.2.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.6.2.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>