Monitorar o contador de desempenho Memória\Páginas de Memória por Segundo
A taxa em que o sistema está paginando memória para o disco e/ou a partir dele é muito alta. Esse monitoramento se baseia no contador “Memória\Páginas/s”, que é um indicador primário dos tipos de falhas que provocam atrasos em todo o sistema. O desempenho geral do sistema pode diminuir significativamente.
Páginas/s é a taxa na qual as páginas são lidas ou gravadas no disco para resolver falhas de páginas de hardware.
Um ou mais aplicativos está utilizando muito a memória, e o sistema está precisando paginar dados do disco ou para o disco para cumprir a demanda.
Para identificar quais processos estão conduzindo a utilização geral da memória no sistema e as taxas de paginação, use os seguintes contadores do objeto “Processo” no monitor de desempenho:
Falhas de Páginas/s: Falhas de Página/s é a taxa na qual falhas de página estão ocorrendo nas threads executadas nesse processo. Uma falha de página ocorre quando uma thread faz referência a uma página de memória virtual que não está no seu conjunto de trabalho na memória principal. Isso pode fazer com que a página não seja buscada no disco se ela estiver na lista de espera e, portanto, já na memória principal, ou se ela estiver sendo usada por outro processo com o qual a página é compartilhada.
Bytes de Pool Não-Paginável: Bytes de Pool Não-Paginável expõe o tamanho, em bytes, do pool não-paginado, uma área da memória do sistema (memória física usada pelo sistema operacional) para objetos que não podem ser gravados em disco, mas devem permanecer na memória física enquanto estiverem alocados. Memória\\Bytes de Pool Não-Paginável é calculado de maneira diferente de Processo\\Bytes de Pool Não-Paginável, portanto ele não é igual a Processo\\Bytes de Pool Não-Paginável\\_Total. Esse contador exibe apenas o último valor observado. Ele não é uma média.
Bytes do Pool Paginado: Bytes do Pool Paginado expõe o tamanho, em bytes, do pool paginado, uma área da memória do sistema (memória física usada pelo sistema operacional) para objetos que podem ser gravados em disco quando não estão sendo usados. Memória\\Bytes do Pool Paginado é calculado de maneira diferente de Processo\\Bytes do Pool Paginado, portanto ele não é igual a Processo\\Bytes do Pool Paginado\\_Total. Esse contador exibe apenas o último valor observado. Ele não é uma média.
Com base nas descobertas da investigação adicional, resoluções podem variar e podem incluir o seguinte:
Aplicar atualizações do sistema operacional ou dos aplicativos para assegurar que todos os problemas conhecidos de memória sejam corrigidos.
Reduzir o número de aplicativos executados no sistema ou a quantidade de carga que o sistema está processando.
Adicionar mais RAM ao sistema.
Target | Microsoft.Windows.Server.6.2.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.6.2.OperatingSystem.MemoryPagesPerSecond" 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.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>