Memória consumida por outros

Microsoft.SQLServer.2014.ReportingServices.UnitMonitor.Instance.MemoryUsageOnServer (UnitMonitor)

O monitoramento alerta quando a memória consumida por outros processos além do SSRS não permite que o SSRS aloque a quantidade de memória prescrita pela configuração de WorkingSetMinimum. O monitoramento usa a seguinte fórmula para determinar o estado:
({WorkingSetMinimum} + {Memória Consumida Por Outros})*100/{Total de Memória} < {Limite (\%)}

Knowledge Base article:

Resumo

O monitoramento alerta quando a memória consumida por outros processos além do SSRS não permite que o SSRS aloque a quantidade de memória prescrita pela configuração de WorkingSetMinimum. O monitoramento usa a seguinte fórmula para determinar o estado:

({WorkingSetMinimum} + {Memória Consumida por Outros})*100/{Memória Total} < {Limite (%)}

Causas

O Reporting services pode precisar de muita memória por vários motivos, incluindo:

Poderão ocorrer condições de pressão de memória se houver outros aplicativos em execução no mesmo servidor consumindo memória.

Resoluções

Você pode considerar adicionar mais memória ao servidor ou remover outros aplicativos do servidor.

O artigo a seguir fornece as informações correspondentes sobre configuração de memória para o reporting services -

Configurar memória disponível para aplicativos do Servidor de Relatórios

Configurando Propriedades do Servidor no Reporting Services: Configurar propriedades de servidor

Parâmetros Substituíveis

Nome

Descrição

Valor padrão

Habilitado

Habilita ou desabilita o fluxo de trabalho

Sim

Gerar Alertas

Define se o fluxo de trabalho gera um Alerta

Sim

Intervalo (segundos)

O intervalo de tempo recorrente em segundos no qual executa-se o fluxo de trabalho.

900

Número de amostras

O Estados de Integridade é alterado quando o número de violações de limite é maior ou igual ao Número Mínimo de Violações.

4

Hora da Sincronização

A hora da sincronização especificada usando um formato de 24 horas. Pode ser omitido.

 

Limite

O monitoramento alerta quando a soma da memória consumida por outros processos além do SSRS e o valor de WorkingSetMinimum, expressos como um percentual da memória total do servidor, excede o limite.

100

Tempo limite (segundos)

Especifica o tempo que o fluxo de trabalho pode funcionar antes de ser fechado e marcado como com falha.

300

Element properties:

TargetMicrosoft.SQLServer.2014.ReportingServices.Instance
Parent MonitorSystem.Health.PerformanceState
CategoryPerformanceHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityWarning
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.SQLServer.2014.ReportingServices.MonitorType.Instance.MemoryUsageOnServer
RemotableTrue
AccessibilityPublic
Alert Message
SSRS 2014: Outros processos usam muita memória
Outros processos podem afetar o desempenho do SSRS.
Memória total no servidor: {0} GB
WorkingSetMinimum do SSRS: {1} GB
WorkingSetMaximium do SSRS: {2} GB
Memória consumida pelo SSRS: {3} GB ({4}\%)
Memória consumida por outros processos: {5} GB ({6}\%)
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.SQLServer.2014.ReportingServices.UnitMonitor.Instance.MemoryUsageOnServer" Accessibility="Public" Enabled="true" Target="SQLRS!Microsoft.SQLServer.2014.ReportingServices.Instance" ParentMonitorID="SystemHealth!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.2014.ReportingServices.MonitorType.Instance.MemoryUsageOnServer" ConfirmDelivery="false">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2014.ReportingServices.UnitMonitor.Instance.MemoryUsageOnServer.AlertMessage">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Warning</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Data/Context/Property[@Name='TotalPhysicalMemoryGB']$</AlertParameter1>
<AlertParameter2>$Data/Context/Property[@Name='WorkingSetMinimumGB']$</AlertParameter2>
<AlertParameter3>$Data/Context/Property[@Name='WorkingSetMaximumGB']$</AlertParameter3>
<AlertParameter4>$Data/Context/Property[@Name='MemoryUsageGB']$</AlertParameter4>
<AlertParameter5>$Data/Context/Property[@Name='MemoryUsagePercent']$</AlertParameter5>
<AlertParameter6>$Data/Context/Property[@Name='MemoryUsageByOtherProcessGB']$</AlertParameter6>
<AlertParameter7>$Data/Context/Property[@Name='MemoryUsageByOtherProcessPercent']$</AlertParameter7>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="Warning" MonitorTypeStateID="Warning" HealthState="Warning"/>
<OperationalState ID="Success" MonitorTypeStateID="Success" HealthState="Success"/>
</OperationalStates>
<Configuration>
<Threshold>100</Threshold>
<SampleCount>4</SampleCount>
<IntervalSeconds>900</IntervalSeconds>
<SyncTime/>
<TimeoutSeconds>300</TimeoutSeconds>
</Configuration>
</UnitMonitor>