KORRIGERING: Minnet överskrider de konfigurerade gränserna som anges av memory.memorylimitmb i SQL Server

Symptom

SQL Server på Linux kanske inte följer de minnesgränser som anges av konfigurationsalternativet memory.memorylimitmb, vilket framgår av övervakningsverktyg som Top och PS som visar minnesanvändning som överskrider de konfigurerade gränserna.

Du ser till exempel att minnet som rapporteras av fälten RES (Resident Memory Size) eller Resident Memory Usage (RSS) i följande kommandon är högre än det minne som konfigurerats av memory.memorylimitmb.

top -p $(pidof sqlservr | cut -d' ' -f1)

ps -p $(pidof sqlservr | cut -d' ' -f1) -u

Lösning

Det här problemet åtgärdas i följande kumulativa uppdateringar för SQL Server:

Obs

När du har tillämpat korrigeringen kan du fortfarande se problemet för servrar som har konfigurerad služba Active Directory-autentisering, eller så kan minnesbegränsningarna memory.memorylimitmb förbrukas snabbt. I det här scenariot måste du också uppdatera versionen av Kerberos v5-paket (krb5) på Linux till 1.19.2 eller senare versioner för att lösa en defcred läcka i krb5_gss_inquire_cred(). Mer information finns i Åtgärda defcred-läcka i krb5_gss_inquire_cred().

För distributioner av Red Hat Enterprise Linux (RHEL) 8, Ubuntu 20.04 eller SUSE Linux Enterprise Server (SLES) 12 kan du behöva kontakta din Linux-distributionsleverantör för att begära uppdaterade paket för krb5.

Om du inte kan uppdatera paketen kan du fortfarande kringgå läckan med krb5_gss_inquire_cred() hjälp av poolanslutningar i programanslutningssträngarna.

Övervaka minnesanvändningen i SQL Server på Linux

När du har installerat SQL Server 2022 Kumulativ uppdatering 14 (CU14) eller SQL Server 2019 CU27 eller senare versioner kan du övervaka systemresursaviseringar med hjälp av kolumnerna system_low_memory_signal_state och system_high_memory_signal_state i sys.dm_os_sys_memory dynamisk hanteringsvy (DMV). Om system_low_memory_signal_state konsekvent visas 1bör du överväga att öka minnesallokeringen för SQL Server eller granska de frågor som förbrukar mest minne och sedan lösa deras minneskrav.

Om kumulativa uppdateringar för SQL Server

Varje ny kumulativ uppdatering för SQL Server innehåller alla snabbkorrigeringar och säkerhetskorrigeringar som fanns i föregående version. Vi rekommenderar att du installerar den senaste versionen för din version av SQL Server:

Status

Microsoft har bekräftat att detta är ett problem i de Microsoft-produkter som anges i avsnittet "Gäller".

Referenser

Läs om den terminologi som Microsoft använder för att beskriva programuppdateringar.

Ansvarsfriskrivning från tredje part

Produkter från andra leverantörer som nämns i den här artikeln tillverkas av företag som inte har någon anknytning till Microsoft. Microsoft utfärdar inga som helst garantier för dessa produkters funktion och tillförlitlighet.