Sunucu yapılandırması: maksimum kilit yöneticisi önbellek belleği (%)

Şunlar için geçerlidir: SQL Server 2025 (17.x) ve sonraki sürümleri

max lock manager cache memory (%) Sunucu yapılandırma seçeneği, kilit yöneticisi önbelleğinin kullanabileceği bellek miktarını toplam SQLOS kaydedilmiş belleğin yüzdesi olarak sınırlar. Varsayılan olarak yapılandırma yüzde 20 olarak ayarlanır.

Availability

Bu yapılandırma seçeneği aşağıdaki SQL platformlarında ve sürümlerinde kullanılabilir:

  • SQL Server 2025 (17.x) Toplu Güncelleştirme (CU) 5 ve sonraki sürümleri

Remarks

Bir kilit serbest bırakıldığında, kilit yapısı tarafından kullanılan bellek serbest bırakılmaz, ancak sonraki kilit alımında bellek ayırma ek yükünü önlemek ve performansı geliştirmek için kilit yöneticisi tarafından önbelleğe alınır.

SQL Server 2025 (17.x) CU 5’ten önce ve SQL Server’ın önceki sürümlerinde, kilit yöneticisi önbelleği, toplam SQLOS ayrılmış belleğinin yüzde 60’ı olan kilit yöneticisi belleğinin azami boyutuna kadar büyüyebilir. bir iş yükü, kilit yöneticisi önbelleğinin boyutunu bu sınıra kadar büyütebilir. Örneğin, Veritabanı Altyapısı örneğinde kilit yükseltmesi devre dışı bırakıldığında, bu alışılmadık durum büyük eşzamanlı sorgu iş yüklerinde ortaya çıkabilir. Kilit yöneticisi önbelleği çok büyürse, SQL Server örneğinin arabellek havuzu, plan önbelleği ve diğer bellek önbellekleri küçülür; bu da performansı düşürür.

SQL Server 2025 (17.x) CU 5 ve sonraki sürümlerinde, kilit yöneticisi önbelleğinin en büyük boyutu varsayılan olarak yüzde 20 ile sınırlıdır. Kilit yöneticisi belleği, iş yükü gerektiriyorsa SQLOS tarafından taahhüt edilen belleğin yüzde 60'ına kadar büyüyebilir. Ancak, kilitler serbest bırakıldığında, kilit yöneticisi önbelleği yapılandırılmış sınırına zaten ulaşmışsa bellek önbelleğe alınmak yerine serbest bırakılır.

Yapılandırmanın max lock manager cache memory (%) yüzde 20'den büyük bir değere ayarlanması önerilmez, ancak geriye dönük uyumluluk için desteklenir. Değeri yüzde 20-60 aralığında ayarlayabilirsiniz.

sys.dm_os_memory_clerks kullanarak, bellek katibi türü olarak OBJECTSTORE_LOCK_MANAGER ile kilit yöneticisi belleğinin toplam boyutunu izleyebilirsiniz. Boşta veritabanı altyapısı örneğinde, bildirilen değer kilit yöneticisi önbellek belleğinin boyutudur.

Examples

A. Kilit yöneticisi önbellek belleğinin en büyük boyutunu ayarlama

Aşağıdaki örnek maksimum kilit yöneticisi önbellek belleğini yüzde 25 olarak ayarlar:

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

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

B. Kilit yöneticisi belleğini izleme

Aşağıdaki örnekte kilit yöneticisi belleğinin geçerli boyutu gösterilmektedir. Değer, varsa edinilen kilitlerin tuttuğu belleği ve sonraki kilit edinimlerinin performansını artırmak için önbelleğe alınan belleği içerir.

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