Il monitoraggio avvisa quando il limite di memoria totale configurato per l'istanza di SSAS supera la soglia configurata, rischiando l'allocazione della memoria fisica richiesta dal sistema operativo per eseguire le funzioni essenziali, almeno 2 GB.
Il monitoraggio avvisa quando il limite di memoria totale configurato per l'istanza di SSAS supera la soglia configurata, rischiando l'allocazione della memoria fisica richiesta dal sistema operativo per eseguire le funzioni essenziali. Inoltre, la configurazione non include l'utilizzo di memoria potenziale da parte dei processi diversi dall'istanza monitorata specifica, che devono essere presi in considerazione dall'amministratore anche per la modifica delle impostazioni del limite di memoria totale dopo aver letto attentamente la Guida alle prestazioni multidimensionali di SSAS.
Il limite di memoria totale deve consentire almeno lo spazio sufficiente richiesto dal sistema operativo per eseguire le funzioni essenziali di gestione della memoria e di interazione tra driver e hardware. Se la memoria disponibile del sistema operativo è insufficiente per queste funzioni essenziali, può verificarsi un errore o l'instabilità del sistema. Pertanto, è necessario configurare l'impostazione un po' al di sotto del 100%, in modo da garantire che la memoria fisica disponibile per tali funzioni sia sufficiente. Se viene impostato un valore troppo alto, il monitoraggio visualizzerà un avviso per segnalare tale condizione.
La configurazione predefinita di SSAS prevede 80 come valore per il limite di memoria totale, che rappresenta l'80% della memoria fisica disponibile nel server. Valutare se sono presenti altri processi che utilizzano grandi quantità di memoria, ad esempio il motore di database relazionale di SQL Server, e in tal caso abbassare le impostazioni del limite di memoria di conseguenza. Se viene impostato un valore troppo alto, potrebbe esaurirsi la memoria fisica per il sistema operativo e potrebbero essere necessarie elevate quantità di paging del disco causando prestazioni insufficienti del server.
Se è richiesto un numero specifico di byte, qualsiasi valore maggiore di 100 viene interpretato come numero di byte della memoria fisica.
Nota: diversamente dal motore di database relazionale di SQL Server che supporta un limite di memoria massimo, il limite di memoria totale del motore SSAS funziona in modo leggermente diverso. Il limite di memoria totale rappresenta il limite raggiunto il quale il server inizierà subito a provare a cancellare memoria il più rapidamente possibile. Analogamente, il limite di memoria minimo rappresenta il limite raggiunto il quale il server inizierà a provare a cancellare memoria dalla cache di SSAS in modo differito, cercando di ridurre l'impatto sulle sessioni esistenti o sulle query già in corso. Quando viene raggiunto il limite di memoria totale, le funzionalità del server potrebbero venire compromesse, poiché il server cancellerà memoria dalla cache in modo molto drastico. Il server supporta anche l'impostazione del limite di memoria massimo, un valore raggiunto il quale il server inizierà arbitrariamente a terminare le sessioni per provare a liberare memoria. Ciò causerà potenzialmente errori per alcuni utenti ed è per questo motivo che il limite di memoria totale non viene forzato come limite assoluto, in quanto alcune query o alcuni processi potrebbero usare un'elevata quantità di memoria solo per loro natura e il motore OLAP farà il possibile per gestirli entro i limiti supportati.
Per risolvere questa condizione, intraprendere una delle azioni seguenti:
Abbassare il limite di memoria totale al di sotto della soglia configurata.
Aggiungere memoria fisica al server per ridurre l'impostazione del limite di memoria totale quando viene espressa come percentuale della memoria fisica totale disponibile, al di sotto della soglia, espressa in GB.
Diminuire la soglia configurata per evitare l'avviso.
Disabilitare completamente il monitoraggio se l'utilizzo di memoria non rappresenta un problema per il server.
Considerazioni sulla configurazione della memoria e sul dimensionamento in SQL Server 2014
Documentazione TechNet per le proprietà della memoria di Analysis Services
Configurare le proprietà del server in Analysis Services
Documentazione TechNet per i contatori delle prestazioni di SSAS
Guida alle prestazioni multidimensionali di SSAS
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. | 604800 |
Ora di sincronizzazione | Ora di sincronizzazione specificata usando il formato a 24 ore. Può essere omessa. |
|
Soglia avviso (GB) | Il monitoraggio avvisa quando il limite di memoria totale configurato per il sistema operativo supera la soglia configurata, rischiando l'allocazione della memoria fisica richiesta dal sistema operativo per eseguire le funzioni essenziali, almeno 2 GB. | 2 |
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.AnalysisServices.Instance | ||
Parent Monitor | System.Health.ConfigurationState | ||
Category | ConfigurationHealth | ||
Enabled | True | ||
Alert Generate | True | ||
Alert Severity | Warning | ||
Alert Priority | Normal | ||
Alert Auto Resolve | True | ||
Monitor Type | Microsoft.SQLServer.2014.AnalysisServices.MonitorType.Instance.TotalMemoryConfiguration | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<UnitMonitor ID="Microsoft.SQLServer.2014.AnalysisServices.UnitMonitor.Instance.TotalMemoryConfiguration" Accessibility="Public" Enabled="true" Target="SQLAS!Microsoft.SQLServer.2014.AnalysisServices.Instance" ParentMonitorID="SystemHealth!System.Health.ConfigurationState" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.2014.AnalysisServices.MonitorType.Instance.TotalMemoryConfiguration" ConfirmDelivery="false">
<Category>ConfigurationHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2014.AnalysisServices.UnitMonitor.Instance.TotalMemoryConfiguration.AlertMessage">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Warning</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Data/Context/Property[@Name='MemoryLimitHighGB']$</AlertParameter1>
<AlertParameter2>$Data/Context/Property[@Name='MemoryLeavesForOsGB']$</AlertParameter2>
<AlertParameter3>$Data/Context/Property[@Name='TotalPhysicalMemoryGB']$</AlertParameter3>
<AlertParameter4>$Data/Context/Property[@Name='MemoryUsageGB']$</AlertParameter4>
<AlertParameter5>$Data/Context/Property[@Name='MemoryUsageByOtherProcessGB']$</AlertParameter5>
<AlertParameter6>$Data/Context/Property[@Name='UsedPhysicalMemoryGB']$</AlertParameter6>
<AlertParameter7>$Data/Context/Property[@Name='MemoryLimitLowGB']$</AlertParameter7>
<AlertParameter8>$Data/Context/Property[@Name='MemoryLimitLowPercent']$</AlertParameter8>
<AlertParameter9>$Data/Context/Property[@Name='MemoryLimitHighPercent']$</AlertParameter9>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="Warning" MonitorTypeStateID="NotConfigured" HealthState="Warning"/>
<OperationalState ID="Success" MonitorTypeStateID="Configured" HealthState="Success"/>
</OperationalStates>
<Configuration>
<Threshold>2</Threshold>
<IntervalSeconds>604800</IntervalSeconds>
<SyncTime/>
<TimeoutSeconds>300</TimeoutSeconds>
</Configuration>
</UnitMonitor>