Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för: SQL Server 2025 (17.x) och senare versioner
Serverkonfigurationsalternativet max lock manager cache memory (%) begränsar mängden minne som låshanterarens cacheminne kan använda, som en procentandel av det totala SQLOS-incheckade minnet. Som standard är konfigurationen inställd på 20 procent.
Availability
Det här konfigurationsalternativet är tillgängligt på följande SQL-plattformar och -versioner:
- SQL Server 2025 (17.x) Kumulativ uppdatering (CU) 5 och senare versioner
Remarks
När ett lås frigörs frigörs inte det minne som används av låsstrukturen, utan cachelagras av låshanteraren för att undvika minnesallokeringskostnaderna vid efterföljande låsförvärv och för att förbättra prestandan.
Innan SQL Server 2025 (17.x) CU 5 och i tidigare versioner av SQL Server kan låshanterarens cache växa upp till den maximala storleken på låshanterarens minne, vilket är 60 procent av det totala SQLOS-incheckade minnet. En arbetsbelastning kan öka storleken på låshanterarens cacheminne upp till den här gränsen. Den här ovanliga situationen kan till exempel inträffa i stora arbetsbelastningar med många samtidiga frågor när låseskalering är inaktiverad för databasmotorinstansen. Om cacheminnet för låshanteraren blir stort krymper buffertpoolen, plancacheminnet och andra minnescacheminnen för en SQL Server instans, vilket minskar prestandan.
I SQL Server 2025 (17.x) CU 5 och senare versioner är den maximala storleken på låshanterarens cache begränsad till 20 procent som standard. Låshanterarminnet kan fortfarande växa till upp till 60 procent av det allokerade SQLOS-minnet om arbetsbelastningen kräver det. När lås frigörs frigörs dock minnet i stället för att lagras i cacheminnet, om låshanterarens cacheminne redan har nått den konfigurerade gränsen.
Att ställa in konfigurationen max lock manager cache memory (%) på ett värde som är större än 20 procent rekommenderas inte, men stöds för bakåtkompatibilitet. Du kan ange värdet i intervallet 20–60 procent.
Du kan övervaka den totala storleken på låshanterarminnet med hjälp av sys.dm_os_memory_clerks, där OBJECTSTORE_LOCK_MANAGER är minneskontorstypen. På en inaktiv databasmotorinstans är det rapporterade värdet storleken på låshanterarens cacheminne.
Examples
A. Ange den maximala storleken på låshanterarens cacheminne
I följande exempel anges det maximala cacheminnet för låshanteraren till 25 procent:
EXECUTE sp_configure 'show advanced options', 1;
RECONFIGURE;
EXECUTE sp_configure 'max lock manager cache memory (%)', 25;
RECONFIGURE;
B. Övervaka minne för låshanteraren
I följande exempel visas den aktuella storleken på låshanterarens minne. Värdet innehåller det minne som innehas av de förvärvade låsen, om det finns några, och det minne som cachelagras för att förbättra prestanda för efterföljande låsförvärv.
SELECT SUM(pages_kb) / 1024. AS lock_manager_cache_memory_mb
FROM sys.dm_os_memory_clerks
WHERE type = 'OBJECTSTORE_LOCK_MANAGER';