Sintomas
SQL Server em Linux podem não estar em conformidade com os limites de memória definidos pela opção de configuração memory.memorylimitmb, como evidenciado por ferramentas de monitoramento, como TOP e PS, exibindo o uso de memória que excede os limites configurados.
Por exemplo, você observa que a memória relatada pelos campos Tamanho da memória residente (RES) ou Uso de memória residente (RSS) nos comandos a seguir é maior do que a memória configurada pela memory.memorylimitmb.
top -p $(pidof sqlservr | cut -d' ' -f1)
ps -p $(pidof sqlservr | cut -d' ' -f1) -u
Resolução
Esse problema foi corrigido nas seguintes atualizações cumulativas para SQL Server:
Nota
Depois de aplicar a correção, para servidores que têm a autenticação do Active Directory configurada, você ainda pode ver o problema ou notar que os limites de memória do são consumidos memory.memorylimitmb rapidamente. Nesse cenário, você também precisa atualizar a versão dos pacotes Kerberos v5 (krb5) no Linux para 1.19.2 ou versões posteriores para resolver um defcred vazamento no krb5_gss_inquire_cred(). Para obter mais informações, consulte Corrigir vazamento defcred no krb5_gss_inquire_cred().
Para distribuições do Red Hat Enterprise Linux (RHEL) 8, Ubuntu 20.04 ou SUSE Linux Enterprise Server (SLES) 12, talvez seja necessário entrar em contato com o fornecedor de distribuição Linux para solicitar pacotes atualizados para krb5.
Se você não puder atualizar os pacotes, ainda poderá contornar o vazamento usando krb5_gss_inquire_cred() conexões agrupadas em suas cadeias de conexão de aplicativo.
Monitorizar a utilização da memória no SQL Server em Linux
Depois de instalar SQL Server Atualização Cumulativa 14 (CU14) de 2022 ou SQL Server 2019 CU27 ou versões posteriores, poderá monitorizar alertas de recursos do sistema ao utilizar as system_low_memory_signal_state colunas e system_high_memory_signal_state na sys.dm_os_sys_memory vista de gestão dinâmica (DMV). Se system_low_memory_signal_state mostra 1consistentemente , considere aumentar a alocação de memória para SQL Server ou revise as consultas que consomem mais memória e, em seguida, resolva seus requisitos de memória.
Acerca das atualizações cumulativas para SQL Server
Cada nova atualização cumulativa para SQL Server contém todos os hotfixes e correções de segurança que estavam na compilação anterior. Recomendamos que instale a compilação mais recente para a sua versão do SQL Server:
- Atualização cumulativa mais recente para o SQL Server 2022
- Atualização cumulativa mais recente do SQL Server 2019
Estado
A Microsoft confirmou que se trata de um problema nos produtos Microsoft listados na secção "Aplica-se a".
Referências
Saiba mais sobre a terminologia que a Microsoft utiliza para descrever as atualizações de software.
Informações sobre a exclusão de responsabilidade de terceiros
Os produtos de terceiros que este artigo aborda são fabricados por empresas que são independentes da Microsoft. A Microsoft não estabelece garantias, implícitas ou de outro tipo, relativamente ao desempenho ou fiabilidade destes produtos.