MEMPERBAIKI: Memori melebihi batas yang dikonfigurasi yang ditentukan oleh memory.memorylimitmb di SQL Server

Gejala

SQL Server di Linux mungkin tidak sesuai dengan batas memori yang ditetapkan oleh opsi konfigurasi memory.memorylimitmb, seperti yang dibuktikan dengan alat pemantauan seperti TOP dan PS yang menampilkan penggunaan memori yang melebihi batas yang dikonfigurasi.

Misalnya, Anda melihat bahwa memori yang dilaporkan oleh bidang Ukuran Memori Penduduk (RES) atau Penggunaan Memori Penduduk (RSS) dalam perintah berikut lebih tinggi daripada memori yang dikonfigurasi oleh memory.memorylimitmb.

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

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

Resolusi

Masalah ini telah diperbaiki dalam pembaruan kumulatif berikut untuk SQL Server:

Catatan

Setelah menerapkan perbaikan, untuk server yang mengonfigurasi autentikasi Direktori Aktif, Anda mungkin masih melihat masalah atau melihat bahwa batas memory.memorylimitmb memori digunakan dengan cepat. Dalam skenario ini, Anda juga perlu memperbarui versi paket Kerberos v5 (krb5) di Linux ke 1.19.2 atau versi yang lebih baru untuk mengatasi defcred kebocoran di krb5_gss_inquire_cred(). Untuk informasi selengkapnya, lihat Memperbaiki kebocoran defcred di krb5_gss_inquire_cred().

Untuk distribusi Red Hat Enterprise Linux (RHEL) 8, Ubuntu 20.04, atau SUSE Linux Enterprise Server (SLES) 12, Anda mungkin perlu menghubungi vendor distribusi Linux Anda untuk meminta paket yang diperbarui untuk krb5.

Jika tidak dapat memperbarui paket, Anda masih dapat mengatasi kebocoran tersebut krb5_gss_inquire_cred() dengan menggunakan koneksi gabungan dalam string koneksi aplikasi Anda.

Pantau penggunaan memori di SQL Server di Linux

Setelah menginstal SQL Server 2022 Pembaruan Kumulatif 14 (CU14) atau SQL Server 2019 CU27 atau versi yang lebih baru, Anda akan dapat memantau peringatan sumber daya sistem menggunakan kolom system_low_memory_signal_state dan system_high_memory_signal_state di sys.dm_os_sys_memory tampilan manajemen dinamis (DMV). Jika system_low_memory_signal_state secara konsisten ditampilkan1, pertimbangkan untuk meningkatkan alokasi memori untuk SQL Server atau tinjau kueri yang menghabiskan memori paling banyak, lalu selesaikan kebutuhan memorinya.

Tentang pembaruan kumulatif untuk SQL Server

Setiap pembaruan kumulatif baru untuk SQL Server berisi semua hotfix dan perbaikan keamanan yang ada dalam build sebelumnya. Kami menyarankan Anda menginstal build terbaru untuk versi SQL Server Anda:

Status

Microsoft telah mengonfirmasi bahwa ini adalah masalah dalam produk Microsoft sebagaimana tercantum di bagian "Berlaku untuk".

Referensi

Pelajari tentang terminologi yang digunakan Microsoft untuk menjelaskan pembaruan perangkat lunak.

Sanggahan informasi pihak ketiga

Produk pihak ketiga yang dibahas dalam artikel ini dibuat oleh perusahaan yang bukan merupakan bagian dari Microsoft. Microsoft tidak memberikan jaminan, secara tersirat maupun tersurat, terkait kinerja atau keandalan produk tersebut.