ИСПРАВЛЕНИЕ. Память превышает настроенные ограничения, заданные 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:
- Последнее накопительное обновление для SQL Server 2022
- Последнее накопительное обновление для SQL Server 2019
Состояние
Данное поведение является подтвержденной ошибкой продуктов Майкрософт, перечисленных в разделе «Применимо к».
Ссылки
Узнайте о терминологии , которую корпорация Майкрософт использует для описания обновлений программного обеспечения.
Заявление об отказе от ответственности за сведения о продуктах сторонних производителей
В этой статье упомянуты программные продукты независимых производителей. Корпорация Майкрософт не дает никаких гарантий, подразумеваемых и прочих, относительно производительности и надежности этих продуктов.