El monitor genera una alerta cuando el valor del límite de memoria total configurado para la instancia de SSAS supera el umbral configurado, lo que pone en riesgo la asignación de la memoria física necesaria para que el sistema operativo realice las funciones esenciales (al menos 2 GB).
El monitor genera alertas cuando el valor del límite de memoria total configurado para la instancia de SSAS supera el umbral configurado, lo que pone en riesgo la asignación de la memoria física necesaria para que el sistema operativo realice las funciones esenciales. Además, la configuración no se tiene en cuenta para el consumo de memoria potencial por parte de procesos que no son de la instancia supervisada específica, lo que también debe considerar un administrador al ajustar los valores del límite de memoria total después de revisar exhaustivamente la Guía sobre rendimiento multidimensional de SSAS.
Como mínimo, el valor de límite de la memoria total debe permitir suficiente espacio para que el sistema operativo realice las funciones básicas de gestión de memoria, así como la interacción de la unidad y el hardware. Si el sistema operativo no tiene suficiente memoria disponible para realizar estas funciones esenciales, se puede producir inestabilidad o un error en el sistema. Por tanto, el valor se debe configurar ligeramente por debajo del 100 %, para garantizar que estas funciones tengan suficiente memoria física disponible. Si el valor definido es demasiado alto, este monitor generará la alerta para advertir de la condición.
La configuración predeterminada de SSAS es de 80 para el valor del límite de memoria total, lo que representa un 80 % de la memoria física disponible en el servidor. Si hay otros grandes consumidores de memoria (por ejemplo, el motor de base de datos relacional de SQL Server), se deberán tener en cuenta y la configuración del límite de memoria se deberá reducir según corresponda. Si el número es demasiado alto, es posible que el sistema operativo no disponga de suficiente memoria física y, como consecuencia, puede originarse una gran cantidad de paginación de disco, lo que conllevará un rendimiento ineficaz del servidor.
Si se necesita un número especifico de bytes, cualquier valor superior a 100 se interpreta como un número de bytes de la memoria física.
Nota: A diferencia del motor de base de datos relacional de SQL Server, que admite un límite máximo estricto de la memoria, el valor del límite de memoria total del motor de SSAS funciona un poco diferente. El valor del límite de memoria total es el límite al que el servidor empezará a intentar de forma agresiva borrar la memoria tan rápido como sea posible. De la misma manera, el valor del límite de memoria bajo es el límite al que el servidor empezará a intentar borrar la memoria de la caché de SSAS de forma diferida y, además, intentará reducir el impacto en cualquier sesión o consulta existente que ya se encuentre en curso. Si se alcanza el valor del límite de memoria total, es posible que el rendimiento del servidor se vea afectado, dado que el servidor borrará memoria de la caché de forma muy agresiva. El servidor también admite un valor de límite de memoria física: un punto en el que el servidor empezará a finalizar sesiones de forma arbitraria para intentar liberar memoria. Esto puede causar errores a algunos usuarios y, por este motivo, el valor del límite de memoria total no se aplica como un límite estricto, ya que es posible que algunas consultas o trabajos hagan un uso intensivo de la memoria por naturaleza. El motor de OLAP hará todo lo posible para servirles dentro de los límites que pueda admitir según su configuración.
Para resolver esta condición, realice una de las siguientes acciones:
Defina el valor de límite de memoria total para que sea inferior al umbral configurado.
Agregue memoria física al servidor para reducir el valor de límite de la memoria total cuando se exprese como un porcentaje del total de memoria física disponible, inferior al umbral, expresado en GB.
Disminuya el umbral configurado para evitar la alerta.
Deshabilite el monitor completamente si el uso de memoria no constituye un problema en el servidor.
Configuración de la memoria y consideraciones del tamaño en SQL Server 2016
Documentación de TechNet para las propiedades de memoria de Analysis Services
Configurar las propiedades del servidor en Analysis Services
Documentación de TechNet para los contadores de rendimiento de SSAS
Guía sobre rendimiento multidimensional de SSAS
Nombre | Descripción | Valor predeterminado |
Habilitado | Habilita o deshabilita el flujo de trabajo | Sí |
Genera alertas | Define si el flujo de trabajo genera una alerta | Sí |
Intervalo (segundos) | Intervalo de tiempo periódico en segundos en que se ejecuta el flujo de trabajo. | 604800 |
Hora de sincronización | Hora de sincronización especificada en un formato de 24 horas. Se puede omitir. |
|
Umbral de advertencia (GB) | El monitor genera una alerta cuando el valor del límite de memoria total configurado para el sistema operativo supera el umbral configurado, lo que pone en riesgo la asignación de la memoria física necesaria para que el sistema operativo realice las funciones esenciales (al menos 2 GB). | 2 |
Tiempo de espera (segundos) | Especifica el tiempo durante el que se puede ejecutar el flujo de trabajo antes de que se cierre y se marque como error. | 300 |
Target | Microsoft.SQLServer.2016.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.2016.AnalysisServices.MonitorType.Instance.TotalMemoryConfiguration | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<UnitMonitor ID="Microsoft.SQLServer.2016.AnalysisServices.UnitMonitor.Instance.TotalMemoryConfiguration" Accessibility="Public" Enabled="true" Target="SQLAS!Microsoft.SQLServer.2016.AnalysisServices.Instance" ParentMonitorID="SystemHealth!System.Health.ConfigurationState" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.2016.AnalysisServices.MonitorType.Instance.TotalMemoryConfiguration" ConfirmDelivery="false">
<Category>ConfigurationHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2016.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>