Serverconfiguratie: maximaal cachegeheugen van Lock Manager (%)

Van toepassing op: SQL Server 2025 (17.x) en latere versies

De max lock manager cache memory (%) serverconfiguratieoptie beperkt de hoeveelheid geheugen die de cache van Lock Manager kan gebruiken, als percentage van het totale toegewezen SQLOS-geheugen. De configuratie is standaard ingesteld op 20 procent.

Availability

Deze configuratieoptie is beschikbaar in de volgende SQL-platformen en -versies:

  • SQL Server 2025 (17.x) Cumulatieve update (CU) 5 en latere versies

Remarks

Wanneer een vergrendeling wordt vrijgegeven, wordt het geheugen dat door de vergrendelingsstructuur wordt gebruikt niet vrijgemaakt, maar wordt het in de cache opgeslagen door de vergrendelingsbeheerder om de overhead voor geheugentoewijzing te voorkomen bij het verkrijgen van vergrendelingen en om de prestaties te verbeteren.

Voordat SQL Server 2025 (17.x) CU 5 en in eerdere versies van SQL Server, kan de lock manager-cache groeien tot de maximale grootte van het lock manager-geheugen, wat 60 procent van het totale toegewezen SQLOS-geheugen is. Een workload kan de grootte van de lock manager-cache tot deze limiet vergroten. Deze ongebruikelijke situatie kan bijvoorbeeld optreden bij grote workloads met gelijktijdige query's wanneer escalatie van vergrendelingen is uitgeschakeld voor het exemplaar van de Database Engine. Als de cache voor vergrendelingsbeheer groot wordt, neemt de buffergroep, de plancache en andere geheugencaches voor een SQL Server exemplaar af, waardoor de prestaties worden verminderd.

In SQL Server 2025 (17.x) CU 5 en latere versies is de maximale grootte van de lock manager-cache standaard beperkt tot 20 procent. Lock Manager-geheugen kan nog steeds tot 60 procent van het toegewezen SQLOS-geheugen groeien, indien nodig voor de workload. Wanneer er echter vergrendelingen worden vrijgegeven, wordt geheugen vrijgemaakt in plaats van in de cache opgeslagen als de vergrendelingsbeheercache de geconfigureerde limiet al heeft bereikt.

Het instellen van de max lock manager cache memory (%) configuratie op een waarde die groter is dan 20 procent wordt niet aanbevolen, maar wordt ondersteund voor compatibiliteit met eerdere versies. U kunt de waarde instellen in het bereik van 20-60 procent.

U kunt de totale grootte van het geheugen van de lock manager bewaken met behulp van sys.dm_os_memory_clerks, met OBJECTSTORE_LOCK_MANAGER als het memory clerk-type. Bij een inactief exemplaar van de database-engine is de gerapporteerde waarde de grootte van het cachegeheugen van de vergrendelingsbeheerder.

Examples

Eén. De maximale grootte van het cachegeheugen van Lock Manager instellen

In het volgende voorbeeld wordt het maximale cachegeheugen voor Lock Manager ingesteld op 25 procent:

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

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

B. Geheugen van vergrendelingsbeheer bewaken

In het volgende voorbeeld ziet u de huidige grootte van het geheugen van Lock Manager. De waarde omvat het geheugen dat wordt bewaard door de verkregen vergrendelingen, indien van toepassing, en het geheugen dat in de cache is opgeslagen om de prestaties van daaropvolgende vergrendelingsverwerving te verbeteren.

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