SQL Server, Memory Manager-objektet

Gäller för:SQL Server

Objektet Memory Manager i Microsoft SQL Server tillhandahåller räknare för att övervaka den totala minnesanvändningen på servern. Att övervaka den totala serverminnesanvändningen för att mäta användaraktivitet och resursanvändning kan hjälpa dig att identifiera prestandaflaskhalsar. Att övervaka minnet som används av en instans av SQL Server kan hjälpa till att avgöra:

  • Om flaskhalsar finns på grund av otillräckligt fysiskt minne för att lagra ofta använda data i cachen. Om minnet är otillräckligt måste SQL Server hämta data från disken.

  • Om frågeprestandan kan förbättras genom att lägga till mer minne eller genom att göra mer minne tillgängligt för datacachen eller SQL Server:s interna strukturer.

Minneshanterarräknare

Denna tabell beskriver SQL Server Memory Manager-räknare.

SQL Server Memory Manager-räknare Description
Anslutningsminne (KB) Specificerar den totala mängden dynamiskt minne som servern använder för att upprätthålla anslutningar.
Databascacheminne (KB) Specificerar mängden minne som servern för närvarande använder för databassidans cache.
Extern minnesfördel En intern uppskattning av prestandafördelen med att lägga till minne i en specifik cache. Den används av motorn för att balansera minnesanvändning mellan cache och är användbar vid felsökning av fall med oväntad cachetillväxt. Värdet presenteras som ett heltal baserat på en intern beräkning.
Ledigt minne (KB) Specificerar mängden committat minne som för närvarande inte används av servern.
Beviljat arbetsytsminne (KB) Specificerar den totala mängden minne som för närvarande ges till exekverande processer, såsom hash-, sorterings-, bulkkopierings- och indexskapandeoperationer.
Låsblock Specificerar det aktuella antalet låsblock som används på servern (uppdateras periodiskt). Ett låsblock representerar en enskild låst resurs, såsom en tabell, sida eller rad.
Låsblock tilldelade Specificerar det aktuella antalet tilldelade låsblock. Vid serverstart beror antalet tilldelade låsblock plus antalet tilldelade låsägarblock på konfigurationsalternativet för SQL Server Locks. Om fler låsblock behövs ökar värdet.
Låsminne (KB) Specificerar den totala mängden dynamiskt minne som servern använder för lås.
Låsägarens blockeringar Specificerar antalet låsägarblock som för närvarande används på servern (uppdateras periodiskt). Ett låsägarblock representerar äganderätten till ett lås på ett objekt av en enskild tråd. Därför, om tre trådar var och en har ett delat (S)-lås på en sida, kommer det att finnas tre låsägarblock.
Låsägarblock tilldelade Specificerar det aktuella antalet tilldelade låsägarblock. Vid serverstart beror antalet tilldelade låsägarblock och antalet tilldelade låsblock på konfigurationsalternativet SQL Server Locks. Om fler låsägarblock behövs ökar värdet dynamiskt.
Loggpoolminne (KB) Total mängd dynamiskt minne som servern använder för Log Pool.
Maximalt arbetsutrymmesminne (KB) Anger den maximala mängden minne som finns tillgänglig för exekverande processer, såsom hash-, sorterings-, bulk-kopierings- och indexskapandeoperationer.
Minnesbidrag Utmärkta Specificerar det totala antalet processer som framgångsrikt har erhållit ett arbetsområdesminnesbidrag.
Minnesbidrag väntar Specificerar det totala antalet processer som väntar på ett minnesgrant för arbetsområdet.
Optimerarminne (KB) Specificerar den totala mängden dynamiskt minne som servern använder för frågeoptimering.
Reserverat serverminne (KB) Indikerar hur mycket minne servern har reserverat för framtida användning. Denna räknare visar den nuvarande oanvända mängden minne som initialt beviljades och som visas i Granted Workspace Memory (KB).
SQL Cache-minne (KB) Specificerar den totala mängden dynamiskt minne som servern använder för den dynamiska SQL-cachen.
Stulet serverminne (KB) Specificerar mängden minne som servern använder för andra ändamål än databassidor.
Målserverminne (KB) Indikerar den ideala mängden minne som servern kan förbruka.
Total serverminne (KB) Specificerar mängden minne som servern har satt in med minneshanteraren.

Example

Du börjar utforska frågeprestandaräknare i det här objektet med hjälp av den här T-SQL-frågan i sys.dm_os_performance_counters dynamisk hanteringsvy:

SELECT * FROM sys.dm_os_performance_counters
WHERE object_name LIKE '%Memory Manager%';