Delen via


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:

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.