Konfigurasi server: memori cache maksimum untuk manajer penguncian (%)

Berlaku untuk: SQL Server 2025 (17.x) dan versi yang lebih baru

Opsi konfigurasi server max lock manager cache memory (%) membatasi jumlah memori yang dapat digunakan oleh cache manajer kunci, sebagai persentase dari total memori yang dikomitkan oleh SQLOS. Secara default, konfigurasi diatur ke 20 persen.

Availability

Opsi konfigurasi ini tersedia di platform dan versi SQL berikut:

  • SQL Server 2025 (17.x) Pembaruan Kumulatif (CU) 5 dan versi yang lebih baru

Remarks

Ketika kunci dilepaskan, memori yang digunakan oleh struktur kunci tidak dibebaskan, tetapi disimpan dalam cache oleh manajer kunci untuk menghindari overhead alokasi memori saat akuisisi kunci berikutnya dan meningkatkan kinerja.

Sebelum SQL Server 2025 (17.x) CU 5 dan di versi SQL Server sebelumnya, cache manajer kunci dapat tumbuh hingga ukuran maksimum memori manajer kunci, yaitu 60 persen dari total memori yang diterapkan SQLOS. Beban kerja dapat menumbuhkan ukuran cache manajer kunci hingga batas ini. Misalnya, situasi yang jarang terjadi ini dapat terjadi dalam beban kerja kueri bersamaan yang besar ketika eskalasi kunci dinonaktifkan untuk instans Database Engine. Jika cache manajer kunci tumbuh besar, kumpulan buffer, cache rencana, dan cache memori lainnya untuk instans SQL Server menyusut, mengurangi performa.

Pada SQL Server 2025 (17.x) CU 5 dan versi yang lebih baru, ukuran maksimum cache manajer kunci dibatasi hingga 20 persen secara default. Memori manajer kunci masih dapat bertambah hingga 60 persen dari memori SQLOS yang dikomitkan jika diperlukan oleh beban kerja. Namun, ketika kunci dilepaskan, memori dibebaskan daripada di-cache jika cache manajer kunci sudah mencapai batas yang dikonfigurasi.

Menyetel konfigurasi max lock manager cache memory (%) ke nilai yang lebih besar dari 20 persen tidak disarankan, tetapi didukung untuk kompatibilitas dengan versi sebelumnya. Anda dapat mengatur nilai dalam rentang 20-60 persen.

Anda dapat memantau ukuran total memori pengelola kunci menggunakan sys.dm_os_memory_clerks, dengan OBJECTSTORE_LOCK_MANAGER sebagai tipe memory clerk. Pada instans mesin database yang menganggur, nilai yang dilaporkan adalah ukuran memori cache pengelola kunci.

Examples

A. Mengatur ukuran maksimum memori cache manajer kunci

Contoh berikut menetapkan memori cache maksimum pengelola kunci menjadi 25 persen:

EXECUTE sp_configure 'show advanced options', 1;
RECONFIGURE;

EXECUTE sp_configure 'max lock manager cache memory (%)', 25;
RECONFIGURE;

B. Memantau memori pengelola kunci

Contoh berikut menunjukkan ukuran memori pengelola kunci saat ini. Nilai ini mencakup memori yang digunakan oleh kunci yang telah diperoleh, jika ada, dan memori yang disimpan dalam cache untuk meningkatkan performa perolehan kunci berikutnya.

SELECT SUM(pages_kb) / 1024. AS lock_manager_cache_memory_mb
FROM sys.dm_os_memory_clerks
WHERE type = 'OBJECTSTORE_LOCK_MANAGER';