КОРЕКЦИЯ: Паметта надвишава конфигурираните ограничения, които са зададени от memory.memorylimitmb в SQL Server

Симптоми

SQL Server на Linux може да не отговаря на границите на паметта, които са зададени от опцията за конфигуриране memory.memorylimitmb, както се вижда от инструменти за наблюдение като top и ps, показващи използване на паметта, което надвишава конфигурираните ограничения.

Забелязвате например, че паметта, отчетена от полетата за размер на резидентната памет (RES) или използване на резидентната памет (RSS) в следните команди, е по-висока от паметта, конфигурирана от memory.memorylimitmb.

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

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

Решение

Този проблем е решен в следните кумулативни актуализации за SQL Server:

Забележка

След като приложите корекцията, за сървъри с конфигурирано удостоверяване за Active Directory все още може да виждате проблема или да забележите, че границите на паметта memory.memorylimitmb се изразходват бързо. В този случай трябва също да актуализирате версията на пакетите на Kerberos v5 (krb5) на Linux до 1.19.2 или по-нови версии, за да разрешите изтичането defcred на данни в krb5_gss_inquire_cred(). За повече информация вижте Коригиране на изтек на защита в krb5_gss_inquire_cred().

За дистрибуции на Red Hat Enterprise Linux (RHEL) 8, Ubuntu 20.04 или SUSE Linux Enterprise Server (SLES) 12 може да се наложи да се свържете с вашия доставчик на дистрибуция на Linux, за да поискате актуализирани пакети за krb5.

Ако не можете да актуализирате пакетите, можете все пак да заобиколите изтичането krb5_gss_inquire_cred() , като използвате насложени връзки в низовете за връзка на приложението.

Наблюдавайте използването на паметта в SQL Server на Linux

След инсталирането на сборна актуализация 14 (CU14) на SQL Server 2022 или SQL Server 2019 CU27 или по-нови версии, ще можете да следите известията за системен ресурс с помощта на system_low_memory_signal_state колоните "And system_high_memory_signal_state " в sys.dm_os_sys_memory изглед за динамично управление (DMV). Ако system_low_memory_signal_state постоянно се показва1, помислете за увеличаване на заделената памет за SQL Server или прегледайте заявките, които консумират най-много памет, и след това коригирайте техните изисквания за памет.

За кумулативните актуализации за SQL Server

Всяка нова кумулативна актуализация за SQL Server съдържа всички актуални поправки и корекции на защитата, които са били в предишната компилация. Препоръчваме ви да инсталирате най-новата компилация за вашата версия на SQL Server:

Състояние

Microsoft потвърждава, че това е проблем в продуктите на Microsoft, които са изброени в раздела „Важи за“.

Справки

Научете повече относно терминологията, която Microsoft използва за описване на актуализациите на софтуера.

Отказ от отговорност за информация от трети лица

Продуктите на други разработчици, обсъждани в тази статия, са произведени от независими от Microsoft фирми. Microsoft не дава никаква подразбираща се или друга гаранция относно производителността или надеждността на тези продукти.