FIX: Het geheugen overschrijdt de geconfigureerde limieten die zijn opgegeven door memory.memorylimitmb in SQL Server
Symptomen
SQL Server op Linux voldoet mogelijk niet aan de geheugengrenzen die zijn ingesteld door de configuratieoptie memory.memorylimitmb , zoals wordt aangetoond door bewakingshulpprogramma's zoals top en ps die het geheugengebruik weergeven dat de geconfigureerde limieten overschrijdt.
U ziet bijvoorbeeld dat het geheugen dat is gerapporteerd door de velden Res (Resident Memory Size) of Resident Memory Usage (RSS) in de volgende opdrachten hoger is dan het geheugen dat is geconfigureerd door memory.memorylimitmb
.
top -p $(pidof sqlservr | cut -d' ' -f1)
ps -p $(pidof sqlservr | cut -d' ' -f1) -u
Oplossing
Dit probleem is opgelost in de volgende cumulatieve updates voor SQL Server:
Notitie
Nadat u de oplossing hebt toegepast, ziet u voor servers waarop Active Directory-verificatie is geconfigureerd, mogelijk nog steeds het probleem of ziet u dat de geheugenlimieten memory.memorylimitmb
snel worden verbruikt. In dit scenario moet u ook de versie van Kerberos v5-pakketten (krb5) op Linux bijwerken naar 1.19.2 of nieuwere versies om een defcred
lek op te lossen.krb5_gss_inquire_cred()
Zie Los het lek met defcred op in krb5_gss_inquire_cred()) voor meer informatie.
Voor Red Hat Enterprise Linux (RHEL) 8-, Ubuntu 20.04- of SUSE Linux Enterprise Server-distributies (SLES) 12 moet u mogelijk contact opnemen met uw Linux-distributieleverancier om bijgewerkte pakketten voor krb5 aan te vragen.
Als u de pakketten niet kunt bijwerken, kunt u het lek krb5_gss_inquire_cred()
nog steeds omzeilen met behulp van gegroepeerde verbindingen in uw toepassing verbindingsreeks s.
Geheugengebruik bewaken in SQL Server in Linux
Nadat u SQL Server 2022 Cumulatieve update 14 (CU14) of SQL Server 2019 CU27 of nieuwere versies hebt geïnstalleerd, kunt u systeembronwaarschuwingen bewaken met behulp van de en system_high_memory_signal_state
kolommen in sys.dm_os_sys_memory
de system_low_memory_signal_state
dynamische beheerweergave (DMV). Als system_low_memory_signal_state
dit consistent wordt weergegeven 1
, kunt u overwegen om de geheugentoewijzing voor SQL Server te verhogen of de query's te controleren die het meeste geheugen verbruiken en vervolgens de geheugenvereisten op te lossen.
Over cumulatieve updates voor SQL Server
Elke nieuwe cumulatieve update voor SQL Server bevat alle hotfixes en beveiligingsoplossingen die zich in de vorige build bevonden. U wordt aangeraden de nieuwste build voor uw versie van SQL Server te installeren:
- Meest recente cumulatieve update voor SQL Server 2022
- Meest recente cumulatieve update voor SQL Server 2019
Status
Microsoft heeft bevestigd dat dit probleem zich kan voordoen in de Microsoft-producten die worden vermeld in de sectie Van toepassing op.
Verwijzingen
Meer informatie over de terminologie die Microsoft gebruikt om software-updates te beschrijven.
Disclaimerinformatie van derden
De producten van derden die in dit artikel worden vermeld, worden vervaardigd door bedrijven die onafhankelijk zijn van Microsoft. Microsoft verleent dan ook geen enkele garantie, impliciet noch anderszins, omtrent de prestaties of de betrouwbaarheid van deze producten.