Contagem de Identificadores de Bytes Particulares de MonitoringHost.exe

Microsoft.SystemCenter.ManagementServer.MonitoringHost.PrivateBytesThreshold (Rule)

Reinicia o serviço de Integridade quando o processo MonitoringHost.exe excede o limite de Processo\Bytes Particulares.

Knowledge Base article:

Resumo

Esta regra mede a utilização do Processo\Bytes Particulares de todas as instâncias do processo MonitoringHost.exe. Se ele exceder o limite configurado, será gerado um alerta.

Existem limites diferentes dependendo da função que o Serviço de Integridade está configurado para executar. A seguir está o resumo dos limites padrão:

Função do Serviço de Integridade

Limite deBytes Particulares

Agente

100 MB

Servidor de Gerenciamento

1.500 MB

A seguir está a configuração da resposta que tenta reiniciar o Serviço de Integridade:

Função do Serviço de Integridade

Reiniciar Comportamento da Resposta

Agente

Habilitado

Servidor de Gerenciamento

Sem resposta de reinicialização

Causas

Um resumo breve das causas potenciais é:

Regras e monitores em excesso são carregados de todos os pacotes de gerenciamento com os quais esse Serviço de Integridade foi configurado.

Uma configuração incorreta da regra ou do monitor que coleta ou processa dados em excesso (por exemplo, regra de coleta do contador de desempenho que coleta dados a cada segundo)

Isso pode ser provocado porque o serviço de Integridade está executando muitos pacotes de gerenciamento. Cada Pacote de Gerenciamento pode ter uma carga elevada de monitoramento que usa uma pequena quantidade de recursos. Com muitos pacotes de gerenciamento adicionados a milhares de regras e monitores, cada instância do MonitoringHost.exe pode começar a consumir mais recursos.

Isso pode ser esperado para esse serviço de Integridade dependendo do tipo de monitoramento que ele executa.

Outra causa pode ser uma ou mais regras e monitores que não estão em conformidade com algumas práticas recomendadas. Um exemplo é uma regra do contador de desempenho que tenta coletar dados de desempenho a cada segundo. Mutas regras ou monitores configurados dessa forma fazem com que o processo de monitoramento host.exe consuma mais recursos.

Resoluções

A ação padrão para esta regra em execução nos Servidores de Gerenciamento é alertar.

Se você achar que a utilização do recurso é apropriada para o volume de monitoramento executado por esse agente, poderá substituir o limite ou desabilitar a recuperação.

Se o Serviço de Integridade e o processo MonitoringHost.exe associado ainda estiverem consumindo muitos recursos, você pode reiniciar o Serviço de Integridade do Windows para atenuar esse problema.

Element properties:

TargetMicrosoft.SystemCenter.ManagementServer
CategoryMaintenance
EnabledFalse
Instance NameProcess
Counter NamePrivate Bytes
Frequency120
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
RemotableTrue
Alert Message
Mensagem de Alerta do Limite de Contagem de Bytes Particulares de MonitoringHost.exe (Servidor de Gerenciamento)
Mensagem de Alerta do Limite de Contagem de Bytes Particulares de MonitoringHost.exe

Member Modules:

ID Module Type TypeId RunAs 
DataSource DataSource System.Performance.DataProvider Default
CDAveragerThreshold ConditionDetection System.Performance.AverageThresholdCondition Default
Alert WriteAction System.Health.GenerateAlert Default

Source Code:

<Rule ID="Microsoft.SystemCenter.ManagementServer.MonitoringHost.PrivateBytesThreshold" Enabled="false" Target="SCLibrary!Microsoft.SystemCenter.ManagementServer" ConfirmDelivery="false" Remotable="true" Priority="High" DiscardLevel="100">
<Category>Maintenance</Category>
<DataSources>
<DataSource ID="DataSource" TypeID="Performance!System.Performance.DataProvider">
<CounterName>Private Bytes</CounterName>
<ObjectName>Process</ObjectName>
<InstanceName>MonitoringHost*</InstanceName>
<Frequency>120</Frequency>
</DataSource>
</DataSources>
<ConditionDetection ID="CDAveragerThreshold" TypeID="Performance!System.Performance.AverageThresholdCondition">
<NumSamples>5</NumSamples>
<Threshold>1610612736</Threshold>
<Operator>Greater</Operator>
</ConditionDetection>
<WriteActions>
<WriteAction ID="Alert" TypeID="Health!System.Health.GenerateAlert">
<Priority>1</Priority>
<Severity>2</Severity>
<AlertName/>
<AlertDescription/>
<AlertOwner/>
<AlertMessageId>$MPElement[Name="Microsoft.SystemCenter.ManagementServer.MonitoringHost.PrivateBytesThreshold.AlertMessage"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>$Data/InstanceName$</AlertParameter1>
<AlertParameter2>$Data/Value$</AlertParameter2>
</AlertParameters>
<Suppression>
<SuppressionValue>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/PrincipalName$</SuppressionValue>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>