Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Base de dados SQL no Microsoft Fabric
Relata consumidores de memória no nível do sistema para In-Memory OLTP. A memória para esses consumidores vem do pool padrão (quando a alocação está no contexto de um thread de usuário) ou do pool interno (se a alocação estiver no contexto de um thread do sistema).
SELECT *
FROM sys.dm_xtp_system_memory_consumers;
Para obter mais informações, consulte In-Memory OLTP (In-Memory Optimization).
| Nome da coluna | Tipo | Description |
|---|---|---|
| memory_consumer_id | bigint | ID interno para o consumidor de memória. |
| memory_consumer_type | int | Um inteiro que representa o tipo do consumidor de memória com um dos seguintes valores: 0 - Não deve ser exibido. Agrega o uso de memória de dois ou mais consumidores. 1 - LOOKASIDE: Rastreia o consumo de memória para um lookaside do sistema. 2 - VARHEAP: Rastreia o consumo de memória para uma pilha de comprimento variável. 4 - Pool de páginas de E/S: Rastreia o consumo de memória de um pool de páginas do sistema usado para operações de E/S. |
| memory_consumer_type_desc | Nvarchar(16) | A descrição do tipo de consumidor de memória: 0 - Não deve ser exibido 1 - OLHAR 2 - VARHEAP 4º - PGPOOL |
| memory_consumer_desc | nvarchar(64) | Descrição da instância do consumidor de memória: VARHEAP: Pilha do sistema. Finalidade geral. Atualmente usado apenas para alocar itens de trabalho de coleta de lixo. -OU- Lookaside pilha. Usado por lookasides quando o número de itens contidos na lista lookaside atinge um limite pré-determinado (geralmente cerca de 5.000 itens). PGPOOL: Para pools de sistemas de E/S há três tamanhos diferentes: pool de páginas do System 4K, pool de páginas do System 64-K e pool de páginas do System 256-K. |
| lookaside_id | bigint | A ID do provedor de memória lookaside local de thread. |
| pagepool_id | bigint | A ID do provedor de memória do pool de páginas local de thread. |
| allocated_bytes | bigint | Número de bytes reservados a este consumidor. |
| used_bytes | bigint | Bytes utilizados por este consumidor. Aplica-se apenas a consumidores de memória varheap. A partir do SQL Server 2022 (16.x), aplica-se a consumidores de memória varheap e lookside. |
| allocation_count | int | Número de dotações. A partir do SQL Server 2022 (16.x), o número de alocações do heap do sistema para consumidores de memória lookside. |
| partition_count | int | O número de partições de superbloco para este consumidor de memória. Para obter mais informações, consulte Fragmentação de memória. |
| sizeclass_count | int | O número de classes de tamanho de superbloco para este consumidor de memória. Fragmentação da memória. |
| min_sizeclass | int | Apenas para uso interno. |
| max_sizeclass | int | Apenas para uso interno. |
| memory_consumer_address | Varbinary | Endereço interno do consumidor. |
Permissions
Requer permissões VIEW SERVER STATE no servidor.
Permissões para SQL Server 2022 e posterior
Requer a permissão VIEW SERVER PERFORMANCE STATE no servidor.
Observações
No SQL Server 2022 (16.x), esse DMV tem colunas adicionais específicas para melhorias de memória de metadados do TempDB otimizados para memória.
Examples
Este exemplo gera os consumidores de memória do sistema para a instância do SQL Server:
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;
A saída mostra todos os consumidores de memória no nível do sistema. Por exemplo, há consumidores para transações, olhe para o lado.
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
Para ver a memória total consumida pelos alocadores do sistema:
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;
Aqui está o conjunto de resultados.
total_allocated_MB total_used_MB
-------------------- --------------------
2 2