Il monitoraggio avvisa se la memoria utilizzata da processi diversi da SSRS non consente a SSRS di allocare la quantità di memoria prevista dall'impostazione WorkingSetMinimum. Per determinare lo stato, il monitoraggio usa la formula seguente:
({WorkingSetMinimum} + {Memoria utilizzata da altri})*100/{Memoria totale} < {Soglia (\%)}
Il monitoraggio avvisa se la memoria utilizzata da processi diversi da SSRS non consente a SSRS di allocare la quantità di memoria prevista dall'impostazione WorkingSetMinimum. Per determinare lo stato, il monitoraggio usa la formula seguente:
({WorkingSetMinimum} + {Memoria utilizzata da altri})*100/{Memoria totale} < {Soglia (%)}
Il servizio Reporting Services può richiedere una grande quantità di memoria per diversi motivi, ad esempio:
Carico elevato: il numero di richieste su richiesta/sottoscrizione gestite dal server di report è elevato
Sono stati richiesti report complessi e report che visualizzano una grande quantità di dati
Possono verificarsi condizioni di utilizzo elevato di memoria se nello stesso server sono in esecuzione altre applicazioni che utilizzano grandi quantità di memoria.
Provare ad aggiungere memoria al server oppure a rimuovere altre applicazioni dal server.
L'articolo seguente fornisce le informazioni corrispondenti sulla configurazione della memoria per i servizi di creazione report -
Configurazione della memoria disponibile per applicazioni del server di report
Configurazione delle proprietà del server in Reporting Services: Configurare le proprietà del server
Nome | Descrizione | Valore predefinito |
Abilitato | Abilita o disabilita il flusso di lavoro | Sì |
Genera avvisi | Definisce se il flusso di lavoro genera un avviso | Sì |
Intervallo (secondi) | Intervallo di tempo ricorrente in secondi in cui eseguire il flusso di lavoro. | 900 |
Numero di campioni | Lo stato di integrità cambia se il numero di violazioni di soglia è superiore o uguale al numero minimo di violazioni. | 4 |
Ora di sincronizzazione | Ora di sincronizzazione specificata usando il formato a 24 ore. Può essere omessa. |
|
Soglia | Il monitoraggio avvisa se la somma della memoria utilizzata dai processi diversi da SSRS e del valore di WorkingSetMinimum, espressa come percentuale della memoria del server totale, supera la soglia. | 100 |
Timeout (secondi) | Specifica il tempo di esecuzione consentito per il flusso di lavoro prima che venga chiuso e contrassegnato come non riuscito. | 300 |
Target | Microsoft.SQLServer.2014.ReportingServices.Instance | ||
Parent Monitor | System.Health.PerformanceState | ||
Category | PerformanceHealth | ||
Enabled | True | ||
Alert Generate | True | ||
Alert Severity | Warning | ||
Alert Priority | Normal | ||
Alert Auto Resolve | True | ||
Monitor Type | Microsoft.SQLServer.2014.ReportingServices.MonitorType.Instance.MemoryUsageOnServer | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<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>