El monitor notifica un estado crítico y genera una alerta cuando la cantidad de memoria que usa el grupo de recursos es superior a la configuración de umbral, expresada como porcentaje de la memoria disponible para las tablas de datos con optimización para memoria para el grupo de recursos determinado. Este monitor es un monitor de dependencia (acumulación).
El monitor notifica un estado crítico cuando la cantidad de memoria que usa el grupo de recursos es superior a la configuración de umbral, expresada como porcentaje de la memoria disponible para las tablas de datos con optimización para memoria para el grupo de recursos determinado. Este monitor es un monitor de dependencia (acumulación).
El grupo de recursos indicado al asignar a una base de datos con tablas optimizadas para memoria realiza un seguimiento de la memoria asignada a todas las tablas optimizadas para memoria, incluidas las tablas internas que se usan para diversas estructuras dentro del motor de datos optimizados para memoria.
Los datos con optimización para memoria de SQL Server usan más memoria y de maneras diferentes que SQL Server. Es posible que la cantidad de memoria que ha instalado y asignado para los datos con optimización para memoria se vuelva inadecuada para sus crecientes necesidades. De ser así, podría quedarse sin memoria.
Consulte este artículo para obtener más detalles: Enlazar una base de datos con tablas con optimización para memoria a un grupo de recursos.
Para resolver la condición de baja memoria o sin memoria, tiene que reducir el uso para liberar memoria existente o hacer que haya más memoria disponible para sus tablas de datos con optimización para memoria. Entre las posibles medidas correctivas se incluyen:
Compruebe si hay alguna transacción de larga ejecución que impida la recolección de elementos no utilizados de memoria. Si es así, le recomendamos que termine la transacción de larga ejecución o buscar en el diseño de la aplicación para ver si puede reducir la duración de las transacciones.
Libere la memoria existente.
Elimine las filas de tablas con optimización para memoria que no sean necesarias y espere a la recolección de elementos no utilizados.
Mueva una o varias filas a una tabla basada en disco.
Aumente el valor de MAX_MEMORY_PERCENT en el grupo de recursos.
Aumente la memoria disponible para la instancia de SQL Server al configurar la memoria de servidor máxima en un valor superior.
Instale memoria adicional.
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. | No |
Target | Microsoft.SQLServer.Linux.Database |
Parent Monitor | System.Health.PerformanceState |
Algorithm | WorstOf |
Source Monitor | Microsoft.SQLServer.Linux.Monitor.UserResourcePool.MemoryConsumption |
Relationship | Microsoft.SQLServer.Linux.DatabaseReferencesUserResourcePool |
Category | PerformanceCollection |
Enabled | True |
Alert Generate | False |
Alert Auto Resolve | False |
Remotable | True |
Accessibility | Public |
<DependencyMonitor ID="Microsoft.SQLServer.Linux.Rollup.Database.MemoryConsumption" Accessibility="Public" Enabled="true" Target="SqlDiscL!Microsoft.SQLServer.Linux.Database" ParentMonitorID="Health!System.Health.PerformanceState" Remotable="true" Priority="Normal" RelationshipType="SqlDiscL!Microsoft.SQLServer.Linux.DatabaseReferencesUserResourcePool" MemberMonitor="Microsoft.SQLServer.Linux.Monitor.UserResourcePool.MemoryConsumption">
<Category>PerformanceCollection</Category>
<Algorithm>WorstOf</Algorithm>
<MemberUnAvailable>Error</MemberUnAvailable>
</DependencyMonitor>