Delen via


sys.dm_xtp_system_memory_consumers (Transact-SQL)

Van toepassing op:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

Rapporteert geheugengebruikers op systeemniveau voor In-Memory OLTP. Het geheugen voor deze gebruikers is afkomstig van de standaardgroep (wanneer de toewijzing zich in de context van een gebruikersthread bevindt) of uit de interne pool (als de toewijzing zich in de context van een systeemthread bevindt).

SELECT *
FROM sys.dm_xtp_system_memory_consumers;

Zie In-Memory OLTP (In-Memory Optimization) voor meer informatie.

Kolomnaam Typologie Description
memory_consumer_id bigint Interne id voor geheugenverbruiker.
memory_consumer_type int Een geheel getal dat het type geheugengebruiker aangeeft met een van de volgende waarden:

0 - Mag niet worden weergegeven. Hiermee wordt geheugengebruik van twee of meer consumenten samengevoegd.

1 - LOOKASIDE: houdt geheugenverbruik bij voor een systeem lookaside.

2 - VARHEAP: houdt geheugenverbruik bij voor een heap met variabele lengte.

4 - IO-paginagroep: houdt geheugenverbruik bij voor een systeempaginagroep die wordt gebruikt voor IO-bewerkingen.
memory_consumer_type_desc nvarchar(16) De beschrijving van het type geheugenverbruiker:

0 - Mag niet worden weergegeven

1 - LOOKASIDE

2 - VARHEAP

4 - PGPOOL
memory_consumer_desc nvarchar(64) Beschrijving van het geheugenconsumerexemplaren:

VARHEAP:
Systeem heap. Algemeen gebruik. Momenteel alleen gebruikt om werkitems voor garbagecollection toe te wijzen.
-OF-
Lookaside heap. Wordt gebruikt door lookasides wanneer het aantal items in de lookaside-lijst een vooraf vastgestelde limiet bereikt (meestal ongeveer 5000 items).

PGPOOL: Voor IO-systeemgroepen zijn er drie verschillende grootten: Systeem 4K-paginagroep, Systeem 64-K-paginagroep en System 256-K-paginagroep.
lookaside_id bigint De id van de thread-local, lookaside-geheugenprovider.
pagepool_id bigint De id van de thread-locale provider voor het geheugen van de paginagroep.
allocated_bytes bigint Het aantal bytes dat is gereserveerd voor deze consument.
used_bytes bigint Bytes die door deze consument worden gebruikt. Is alleen van toepassing op gebruikers van varheap-geheugen.

Vanaf SQL Server 2022 (16.x) is dit van toepassing op gebruikers van varheap- en lookaside-geheugen.
allocation_count int Aantal toewijzingen.

Te beginnen met SQL Server 2022 (16.x), het aantal toewijzingen van de systeem-heap voor lookaside-geheugengebruikers.
partition_count int Het aantal superblockpartities voor deze geheugengebruiker. Zie Geheugenfragmentatie voor meer informatie.
sizeclass_count int Het aantal superblockgrootteklassen voor deze geheugengebruiker. Geheugenfragmentatie.
min_sizeclass int Alleen intern gebruik.
max_sizeclass int Alleen intern gebruik.
memory_consumer_address varbinary Intern adres van de consument.

Permissions

Vereist VIEW SERVER STATE-machtigingen op de server.

Machtigingen voor SQL Server 2022 en hoger

Vereist de machtiging PRESTATIESTATUS VAN DE WEERGAVESERVER op de server.

Opmerkingen

In SQL Server 2022 (16.x) heeft deze DMV extra kolommen die specifiek zijn voor verbeteringen in het geheugen van het geheugen van tempDB-metagegevens.

Voorbeelden

In dit voorbeeld worden de verbruikers van het systeemgeheugen voor het SQL Server-exemplaar uitgevoerd:

SELECT memory_consumer_type_desc,
       memory_consumer_desc,
       allocated_bytes / 1024 as allocated_bytes_kb,
       used_bytes / 1024 as used_bytes_kb,
       allocation_count
FROM sys.dm_xtp_system_memory_consumers;

De uitvoer toont alle geheugengebruikers op systeemniveau. Er zijn bijvoorbeeld consumenten voor transactie-look aside.

memory_consumer_type_desc                memory_consumer_desc                           allocated_bytes_kb   used_bytes_kb        allocation_count
-------------------------------          ---------------------                          -------------------  --------------       ----------------
VARHEAP                                  Lookaside heap                                 0                    0                    0
VARHEAP                                  System heap                                    768                  0                    2
LOOKASIDE                                GC transaction map entry                       64                   64                   910
LOOKASIDE                                Redo transaction map entry                     128                  128                  1260
LOOKASIDE                                Recovery table cache entry                     448                  448                  8192
LOOKASIDE                                Transaction recent rows                        3264                 3264                 4444
LOOKASIDE                                Range cursor                                   0                    0                    0
LOOKASIDE                                Hash cursor                                    3200                 3200                 11070
LOOKASIDE                                Transaction save-point set entry               0                    0                    0
LOOKASIDE                                Transaction partially-inserted rows set        704                  704                  1287
LOOKASIDE                                Transaction constraint set                     576                  576                  1940
LOOKASIDE                                Transaction save-point set                     0                    0                    0
LOOKASIDE                                Transaction write set                          704                  704                  672
LOOKASIDE                                Transaction scan set                           320                  320                  156
LOOKASIDE                                Transaction read set                           704                  704                  343
LOOKASIDE                                Transaction                                    4288                 4288                 1459
PGPOOL                                   System 256K page pool                          5120                 5120                 20
PGPOOL                                   System 64K page pool                           0                    0                    0
PGPOOL                                   System 4K page pool                            24                   24                   6

Het totale geheugen dat door systeemtoewijzingen wordt verbruikt, bekijken:

SELECT SUM(allocated_bytes) / (1024 * 1024) AS total_allocated_MB,
       SUM(used_bytes) / (1024 * 1024) AS total_used_MB
FROM sys.dm_xtp_system_memory_consumers;

Dit is de resultatenset.

total_allocated_MB   total_used_MB
-------------------- --------------------
2                    2