Sintomas
O SQL Server em Linux pode não estar em conformidade com os limites de memória definidos pela opção de configuração memory.memorylimitmb, conforme 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 RES (Resident Memory Size) ou RSS (Resident Memory Usage) nos comandos a seguir é maior do que a memória configurada pelo memory.memorylimitmb.
top -p $(pidof sqlservr | cut -d' ' -f1)
ps -p $(pidof sqlservr | cut -d' ' -f1) -u
Resolução
Esse problema é corrigido nas seguintes atualizações cumulativas para o SQL Server:
Observação
Depois de aplicar a correção, para servidores que têm a autenticação do Active Directory configurada, você ainda poderá ver o problema ou perceber que os limites de memória 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 de defcred no krb5_gss_inquire_cred().
Para distribuições Red Hat Enterprise Linux (RHEL) 8, Ubuntu 20.04 ou SUSE Linux Enterprise Server (SLES) 12, talvez seja necessário entrar em contato com seu fornecedor de distribuição do Linux para solicitar pacotes atualizados para krb5.
Se não for possível atualizar os pacotes, você ainda poderá contornar o vazamento krb5_gss_inquire_cred() usando conexões em pool nas cadeias de conexão do aplicativo.
Monitorar o uso de memória no SQL Server em Linux
Depois de instalar o SQL Server 2022 Atualização Cumulativa 14 (CU14) ou o SQL Server 2019 CU27 ou versões posteriores, você poderá monitorar alertas de recursos do sistema usando as system_low_memory_signal_state colunas e system_high_memory_signal_state no sys.dm_os_sys_memory modo de exibição de gerenciamento dinâmico (DMV). Se system_low_memory_signal_state for exibido 1de forma consistente, considere aumentar a alocação de memória para o SQL Server ou examine as consultas que consomem mais memória e depois resolve seus requisitos de memória.
Sobre atualizações cumulativas para o SQL Server
Cada nova atualização cumulativa do SQL Server contém todos os hotfixes e correções de segurança que estavam no build anterior. Recomendamos que você instale o build mais recente para a sua versão do SQL Server:
- Atualização cumulativa mais recente do SQL Server 2022
- Atualização cumulativa mais recente do SQL Server 2019
Status
A Microsoft confirmou que este é um problema nos produtos da Microsoft listados na seção "Aplica-se a".
Referências
Saiba mais sobre a terminologia que a Microsoft usa para descrever atualizações de software.
Aviso de isenção de responsabilidade para informações de terceiros
Os produtos de terceiros mencionados neste artigo são produzidos por empresas independentes da Microsoft. A Microsoft não oferece nenhuma garantia, implícita ou não, do desempenho ou da confiabilidade desses produtos.