Sintomi
SQL Server in Linux potrebbe non essere conforme ai limiti di memoria impostati dall'opzione di configurazione memory.memorylimitmb, come evidenziato da strumenti di monitoraggio come top e ps che visualizzano un utilizzo della memoria che supera i limiti configurati.
Ad esempio, si nota che la memoria segnalata dai campi Resident Memory Size (RES) o Resident Memory Usage (RSS) nei comandi seguenti è superiore alla memoria configurata da memory.memorylimitmb.
top -p $(pidof sqlservr | cut -d' ' -f1)
ps -p $(pidof sqlservr | cut -d' ' -f1) -u
Risoluzione
Questo problema è stato risolto negli aggiornamenti cumulativi seguenti per SQL Server:
Nota
Dopo aver applicato la correzione, per i server con l'autenticazione Active Directory configurata, è possibile che il problema venga comunque riscontrato o che i limiti di memoria vengano memory.memorylimitmb consumati rapidamente. In questo scenario, è anche necessario aggiornare la versione dei pacchetti Kerberos v5 (krb5) su Linux alla 1.19.2 o versioni successive per risolvere una defcred perdita in krb5_gss_inquire_cred(). Per ulteriori informazioni, vedere Correggere defcred leak in krb5_gss_inquire_cred().
Per le distribuzioni Red Hat Enterprise Linux (RHEL) 8, Ubuntu 20.04 o SUSE Linux Enterprise Server (SLES) 12, potrebbe essere necessario contattare il fornitore della distribuzione Linux per richiedere pacchetti aggiornati per krb5.
Se non è possibile aggiornare i pacchetti, è comunque possibile ovviare alla perdita krb5_gss_inquire_cred() usando connessioni in pool nelle stringhe di connessione dell'applicazione.
Monitorare l'utilizzo della memoria in SQL Server in Linux
Dopo aver installato SQL Server aggiornamento cumulativo 2022 14 (CU14) o SQL Server 2019 CU27 o versioni successive, sarà possibile monitorare gli avvisi delle risorse di sistema usando le system_low_memory_signal_state colonne and system_high_memory_signal_state nella sys.dm_os_sys_memory visualizzazione a gestione dinamica. Se system_low_memory_signal_state mostra 1in modo coerente, è consigliabile aumentare l'allocazione di memoria per SQL Server o rivedere le query che consumano più memoria e quindi risolvere i relativi requisiti di memoria.
Informazioni sugli aggiornamenti cumulativi per SQL Server
Ogni nuovo aggiornamento cumulativo per SQL Server contiene tutte le correzioni a caldo e di sicurezza presenti nella build precedente. È consigliabile installare la build più recente per la versione di SQL Server:
- Aggiornamento cumulativo più recente per SQL Server 2022
- Aggiornamento cumulativo più recente per SQL Server 2019
Stato
Microsoft ha confermato che si tratta di un problema relativo ai prodotti elencati nella sezione "Si applica a".
Riferimenti
Informazioni sulla terminologia utilizzata da Microsoft per descrivere gli aggiornamenti software.
Dichiarazione di non responsabilità sulle informazioni di terze parti
I prodotti di terze parti descritti in questo articolo sono realizzati da società indipendenti da Microsoft. Microsoft non riconosce alcuna garanzia, implicita o espressa, in relazione alle prestazioni o all'affidabilità di tali prodotti.