Отслеживание счетчика производительности "Память\\% использования выделенной памяти"
Значение счетчика "% использования выделенной памяти" (Память\% использования выделенной памяти) превысило пороговое значение. Производительность системы в целом может быть значительно снижена, что приведет к снижению производительности операционной системы и приложений.
Счетчик производительности "% использования выделенной памяти" представляет процентное отношение показателя "Память\Байт выделенной виртуальной памяти" к показателю "Память\Предел выделенной виртуальной памяти". Байт выделенной виртуальной памяти - это объем виртуальной памяти, которая была выделена без необходимости увеличения размера файла подкачки.
Когда превышается этот порог производительности, это часто означает, что файл подкачки невозможно увеличить, либо увеличить достаточно быстро, чтобы удовлетворить требования приложения к памяти.
Количество доступной физической памяти может стать недостаточным при следующих условиях:
На компьютере одновременно запущено слишком много приложений.
Работа некоторых приложений может сопровождаться утечкой памяти.
Для подтверждения чрезмерного использования файла подкачки сложите показания счетчиков "Ср. время обращения к диску (сек.)" (счетчик физического диска) и "Страниц/с". Если результат этих счетчиков превышает 0,1, использование файла подкачки занимает более 10 процентов времени доступа к диску. Если это происходит в течение длительного времени, возможно требуется добавить памяти.
Затем проверьте чрезмерное использование файла подкачки запущенными приложениями. Если это возможно, остановите приложение с наибольшим значением рабочего набора и посмотрите, значительно ли это повлияет на скорость использования файла подкачки. Если предполагается чрезмерное использование файла подкачки, проверьте значение счетчика "Страниц/с" в системном мониторе. Данные счетчик, являющийся частью типа объекта "Память", показывает количество страниц, которые требуется считать с диска, поскольку они не находятся в физической памяти. (Обратите внимание на различие между данным счетчиком и "Ошибок страницы/с", который показывает только те данные, которые не были сразу доступны в указанном рабочем наборе в памяти.)
Чтобы исправить ошибку, связанную с недостатком физической памяти, администратор может выполнить одно или несколько из следующих действий:
Закройте или остановите одно или несколько приложений, служб или процессов
Добавьте дополнительную физическую память в компьютер
Перенесите приложения на один или несколько дополнительных компьютеров (применимо только для серверов)
Если в системе достаточно физической памяти и загрузка приложений нормальная, но все равно превышен предел доступной физической памяти, то это может означать, что происходит утечка памяти в приложении. Чтобы определить, в каком приложении происходит утечка памяти, выполните следующее:
Откройте системный монитор и отследите следующий системный счетчик производительности за все время:
Файл подкачки\% использования
Файл подкачки\%
Память\Байт в невыгружаемом страничном пуле
Память\Байт в выгружаемом страничном пуле
Если любой из этих счетчиков постоянно увеличивается, возможно в приложении происходит утечка памяти. Чтобы просмотреть в журнале последние данные для счетчиков производительности используйте следующее представление:
Если в системе предполагается утечка памяти, определенное приложение можно определить, понаблюдав за следующими счетчиками для каждого из запущенных приложений при помощи системного монитора:
Процесс\Байт файла подкачки
Процесс\Байт в невыгружаемом страничном пуле
Процесс\Байт в выгружаемом страничном пуле
Процесс\Байт исключительного пользования
Процесс\Число потоков
Если наблюдается постоянное и значительное увеличение показаний любого из данных счетчиков, возможно, следует обратиться за помощью к поставщику приложения.
Target | Microsoft.Windows.Server.2008.OperatingSystem | ||
Parent Monitor | System.Health.PerformanceState | ||
Category | PerformanceHealth | ||
Enabled | False | ||
Instance Name | Memory | ||
Counter Name | \% Committed Bytes In Use | ||
Frequency | 120 | ||
Alert Generate | True | ||
Alert Severity | Error | ||
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.PercentCommittedBytesInUse" Accessibility="Public" Enabled="false" 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.PercentCommittedBytesInUse.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</AlertParameter1>
</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>