CORRECCIÓN: La memoria supera los límites configurados especificados por memory.memorylimitmb en SQL Server.
Síntomas
es posible que SQL Server en Linux no cumplan los límites de memoria establecidos por la opción de configuración memory.memorylimitmb, como se evidencia mediante herramientas de supervisión como el uso de memoria superior y ps que supera los límites configurados.
Por ejemplo, observe que la memoria notificada por los campos Tamaño de memoria residente (RES) o Uso de memoria residente (RSS) en los siguientes comandos es mayor que la memoria configurada por memory.memorylimitmb
.
top -p $(pidof sqlservr | cut -d' ' -f1)
ps -p $(pidof sqlservr | cut -d' ' -f1) -u
Solución
Este problema se ha corregido en las siguientes actualizaciones acumulativas para SQL Server:
Nota:
Después de aplicar la corrección, para los servidores que tienen configurada la autenticación de Active Directory, es posible que todavía vea el problema o observe que los límites de memoria de memory.memorylimitmb
se consumen rápidamente. En este escenario, también debe actualizar la versión de los paquetes kerberos v5 (krb5) en Linux a 1.19.2 o versiones posteriores para resolver una defcred
pérdida en krb5_gss_inquire_cred()
. Para obtener más información, consulte Corrección de fugas defcred en krb5_gss_inquire_cred()..
Para las distribuciones de Red Hat Enterprise Linux (RHEL) 8, Ubuntu 20.04 o SUSE Linux Enterprise Server (SLES) 12, es posible que tenga que ponerse en contacto con el proveedor de distribución de Linux para solicitar paquetes actualizados para krb5.
Si no puede actualizar los paquetes, puede seguir trabajando en torno a la pérdida krb5_gss_inquire_cred()
mediante conexiones agrupadas en la aplicación cadena de conexión s.
Supervisión del uso de memoria en SQL Server en Linux
Después de instalar la actualización acumulativa de SQL Server 2022 14 (CU14) o SQL Server 2019 CU27 o versiones posteriores, podrá supervisar las alertas de recursos del sistema mediante las columnas y system_high_memory_signal_state
en sys.dm_os_sys_memory
la system_low_memory_signal_state
vista de administración dinámica (DMV). Si system_low_memory_signal_state
muestra 1
de forma coherente , considere la posibilidad de aumentar la asignación de memoria para SQL Server o revise las consultas que consumen la mayor parte de la memoria y, a continuación, resuelva sus requisitos de memoria.
Acerca de las actualizaciones acumulativas de SQL Server
Cada nueva actualización acumulativa de SQL Server contiene todas las revisiones y correcciones de seguridad que se encontraban en la compilación anterior. Se recomienda instalar la compilación más reciente para la versión de SQL Server:
- Actualización acumulativa más reciente para SQL Server 2022
- Actualización acumulativa más reciente para SQL Server 2019
Estado
Microsoft ha confirmado que se trata de un problema de los productos de Microsoft enumerados en la sección "Se aplica a".
Referencias
Obtenga información sobre la terminología que usa Microsoft para describir las actualizaciones de software.
Aviso de declinación de responsabilidades sobre la información de terceros
Los productos de otros fabricantes que se mencionan en este artículo han sido creados por compañías independientes de Microsoft. Microsoft no ofrece ninguna garantía, ya sea implícita o de otro tipo, sobre la confiabilidad o el rendimiento de dichos productos.