Поделиться через


ИСПРАВЛЕНИЕ. Память превышает настроенные ограничения, заданные memory.memorylimitmb в SQL Server

Симптомы

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

Например, вы заметите, что объем памяти, сообщаемый полями "Размер памяти резидента" или "Использование памяти резидентов" (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 версии 5 (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 2019 CU27 или более поздних версий SQL Server 2022 вы сможете отслеживать оповещения системных ресурсов с помощью system_low_memory_signal_state 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:

Состояние

Данное поведение является подтвержденной ошибкой продуктов Майкрософт, перечисленных в разделе «Применимо к».

Ссылки

Узнайте о терминологии , которую корпорация Майкрософт использует для описания обновлений программного обеспечения.

Заявление об отказе от ответственности за сведения о продуктах сторонних производителей

В этой статье упомянуты программные продукты независимых производителей. Корпорация Майкрософт не дает никаких гарантий, подразумеваемых и прочих, относительно производительности и надежности этих продуктов.