sys.dm_xtp_system_memory_consumers (Transact-SQL)

適用於:SQL ServerAzure SQL DatabaseAzure SQL 受控執行個體

報告記憶體內部 OLTP 的系統層級記憶體取用者。 這些取用者的記憶體來自預設集區(當配置位於使用者線程的內容中時)或來自內部集區(如果配置位於系統線程的內容中)。

SELECT *
FROM sys.dm_xtp_system_memory_consumers;

如需詳細資訊,請參閱 In-Memory OLTP (記憶體中最佳化)

資料行名稱 類型 描述
memory_consumer_id bigint 記憶體取用者的內部標識碼。
memory_consumer_type int 整數,表示具有下列其中一個值的記憶體取用者類型:

0 - 不應該顯示。 匯總兩個或多個取用者的記憶體使用量。

1 - LOOKASIDE:追蹤系統 Lookaside 的記憶體耗用量。

2 - VARHEAP:追蹤可變長度堆積的記憶體耗用量。

4 - IO 頁面集區:追蹤用於IO作業之系統頁面集區的記憶體耗用量。
memory_consumer_type_desc nvarchar(16) 記憶體取用者類型的描述:

0 - 不應該顯示

1 - LOOKASIDE

2 - VARHEAP

4 - PGPOOL
memory_consumer_desc nvarchar(64) 記憶體取用者實例的描述:

VARHEAP:
系統堆積。 一般用途。 目前只用來配置垃圾收集工作專案。
-或-
Lookaside 堆積。 當 lookaside 列表中所包含的項目數目達到預先決定的上限時,由 lookaside 使用(通常大約 5,000 個專案)。

PGPOOL:針對IO系統集區,有三種不同的大小:系統4K頁面集區、系統64-K頁面集區和系統256-K 頁面集區。
lookaside_id bigint 線程本機、lookaside 記憶體提供者的標識碼。
pagepool_id bigint 線程本機頁面集區內存提供者的標識碼。
allocated_bytes bigint 保留給這個取用者的位元元組數目。
used_bytes bigint 這個取用者所使用的位元組。 僅適用於 varheap 記憶體取用者。

從 SQL Server 2022 (16.x) 開始,適用於 varheap 和 lookaside 記憶體取用者。
allocation_count int 配置數目。

從 SQL Server 2022 (16.x)開始,系統堆積中尋找記憶體取用者的配置數目。
partition_count int 僅供內部使用。
sizeclass_count int 僅供內部使用。
min_sizeclass int 僅供內部使用。
max_sizeclass int 僅供內部使用。
memory_consumer_address varbinary 取用者的內部位址。

權限

需要伺服器上的 VIEW SERVER STATE 許可權。

SQL Server 2022 和更新版本的權限

需要伺服器上的 VIEW SERVER PERFORMANCE STATE 權限。

備註

在 SQL Server 2022 (16.x)中,此 DMV 具有記憶體優化 TempDB 元數據記憶體改善特有的其他數據行。

範例

此範例會輸出 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;

輸出會顯示系統層級的所有記憶體取用者。 例如,有取用者可以放在一邊查看交易。

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

若要檢視系統設定器耗用的總記憶體:

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;

以下為結果集。

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