El monitor genera una advertencia cuando las asignaciones de memoria por parte de la instancia de SSAS superan el umbral de advertencia configurado, expresado como un porcentaje del valor del límite de memoria total para la instancia de SSAS. El monitor emite una alerta crítica cuando dichas asignaciones superan el umbral crítico configurado.
El monitor genera una advertencia cuando las asignaciones de memoria por parte de la instancia de SSAS superan el umbral de advertencia configurado, expresado como un porcentaje del valor del límite de memoria total para la instancia de SSAS. El monitor emite una alerta crítica cuando dichas asignaciones superan el umbral crítico configurado.
En algunos casos, SSAS puede acercarse o superar el valor de configuración del límite total de memoria. En algunos casos, una única operación requiere un consumo de memoria superior al límite y, a pesar de los esfuerzos del servidor por liberar memoria de otras tareas menos inmediatas, puede que, en algunas ocasiones, las asignaciones superen necesariamente los límites configurados. De lo contrario, se producirían errores en las operaciones.
Esto puede pasar al procesar grandes dimensiones o datos de hechos, especialmente si existen atributos con tipos de datos que consumen grandes cantidades de espacio (por ejemplo, cadenas largas, datos binarios, etc.) o si la dimensión contiene una gran cantidad de miembros. Además, las consultas que se ejecutan en el servidor pueden cubrir espacios muy grandes, sobre todo si se unen varias dimensiones entre sí o si se necesitan cálculos significativos para generar resultados para celdas que no haya agregado previamente un administrador previsor o que, simplemente, no se puedan agregar con antelación.
Cuando se superan los límites de memoria de un servidor, los administradores pueden usar diferentes métodos para solucionar el problema. Después de considerar la actividad subyacente que provoca el consumo de memoria, los requisitos de carga de trabajo del servidor, los recursos disponibles y otros factores, así como de revisar y estudiar detenidamente la Guía sobre rendimiento multidimensional de SSAS o consultar con el servicio de soporte técnico de Microsoft, según sea necesario, se puede usar cualquiera de estos métodos para resolver el problema:
Identifique las sesiones responsables de las asignaciones de memoria más significativas y finalícelas manualmente.
Identifique las sesiones responsables de las asignaciones de memoria más significativas y soluciónelas individualmente para volver a programar trabajos de procesamiento o informes, realizar una asignación previa con consultas de preparación de caché en los períodos de bajo consumo o diseñar agregaciones específicas por adelantado que se generen durante el procesamiento y, de este modo, reduzcan el consumo posterior de memoria de las consultas de usuario.
Aumente la memoria física del equipo host.
Reduzca el consumo de memoria de otros procesos del equipo host, como instancias del motor de base de datos relacional de SQL Server u otras instancias de SSAS.
Aumente el valor del límite de memoria total o los umbrales que se han configurado para la alerta para evitar la condición.
Deshabilite el monitor completamente si el uso de memoria no constituye un problema en el servidor.
Documentación de TechNet para las propiedades de memoria de Analysis Services
Configurar las propiedades del servidor en Analysis Services
Guía sobre rendimiento multidimensional de SSAS
Nombre | Descripción | Valor predeterminado |
Umbral crítico (%) | El estado cambia a Crítico si el uso de memoria de Analysis Services (%) supera el umbral. | 95 |
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. | 900 |
Número de ejemplos | El estado cambia si el número de infracciones de umbral es mayor o igual que el número mínimo de infracciones. | 4 |
Hora de sincronización | Hora de sincronización especificada en un formato de 24 horas. Se puede omitir. |
|
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 |
Umbral de advertencia (%) | El estado cambia a Advertencia si el uso de memoria de Analysis Services (%) supera el umbral pero no el Umbral crítico (%). | 80 |
Target | Microsoft.SQLServer.2008.AnalysisServices.Instance | ||
Parent Monitor | System.Health.PerformanceState | ||
Category | PerformanceHealth | ||
Enabled | True | ||
Alert Generate | True | ||
Alert Severity | Error | ||
Alert Priority | Normal | ||
Alert Auto Resolve | True | ||
Monitor Type | Microsoft.SQLServer.2008.AnalysisServices.MonitorType.Instance.MemoryUsagePercent | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<UnitMonitor ID="Microsoft.SQLServer.2008.AnalysisServices.UnitMonitor.Instance.MemoryUsage" Accessibility="Public" Enabled="true" Target="SQLAS!Microsoft.SQLServer.2008.AnalysisServices.Instance" ParentMonitorID="SystemHealth!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.2008.AnalysisServices.MonitorType.Instance.MemoryUsagePercent" ConfirmDelivery="false">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2008.AnalysisServices.UnitMonitor.Instance.MemoryUsage.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</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="Error" MonitorTypeStateID="Above" HealthState="Error"/>
<OperationalState ID="Warning" MonitorTypeStateID="Between" HealthState="Warning"/>
<OperationalState ID="Success" MonitorTypeStateID="Below" HealthState="Success"/>
</OperationalStates>
<Configuration>
<WarningThreshold>80</WarningThreshold>
<CriticalThreshold>95</CriticalThreshold>
<IntervalSeconds>900</IntervalSeconds>
<SyncTime/>
<TimeoutSeconds>300</TimeoutSeconds>
</Configuration>
</UnitMonitor>