KORRIGERING: Minnet överskrider de konfigurerade gränser som anges av memory.memorylimitmb i SQL Server
Symptom
SQL Server på Linux kanske inte uppfyller 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 märker till exempel att det minne som rapporteras av fälten Resident Memory Size (RES) 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
Åtgärd
Det här problemet åtgärdas i följande kumulativa uppdateringar för SQL Server:
Kommentar
När du har tillämpat korrigeringen kan du fortfarande se problemet eller observera att minnesgränserna memory.memorylimitmb
för förbrukas snabbt för servrar som har Konfigurerat Active Directory-autentisering. I det här scenariot måste du också uppdatera versionen av Kerberos v5-paket (krb5) i 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 avspäckad 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 linux-distributionsleverantören för att begära uppdaterade paket för krb5.
Om du inte kan uppdatera paketen kan du fortfarande kringgå läckan genom krb5_gss_inquire_cred()
att använda poolanslutningar i ditt program anslutningssträng.
Övervaka minnesanvändning 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 visar 1
kan 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 minnesbehov.
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:
- Senaste kumulativa uppdateringen för SQL Server 2022
- Senaste kumulativa uppdateringen för SQL Server 2019
Status
Microsoft har bekräftat att det är ett problem i de Microsoft-produkter som listas i avsnittet "Gäller för".
Referenser
Lär dig mer om den terminologi som Microsoft använder för att beskriva programuppdateringar.
Ansvarsfriskrivning för information från tredje part
De produkter från andra tillverkare som diskuteras i denna artikel tillverkas oberoende av Microsoft. Produkternas funktion eller tillförlitlighet kan därför inte garanteras.