sys.dm_os_memory_clerks (Transact-SQL)
傳回 SQL Server 執行個體中所有目前作用中記憶體 Clerk 集。
資料行名稱 |
資料類型 |
描述 |
---|---|---|
memory_clerk_address |
varbinary(8) |
記憶體 Clerk 的唯一記憶體位址。這是主索引鍵資料行。不可為 Null。 |
type |
nvarchar(60) |
記憶體 Clerk 的類型。每一個 Clerk 都有特定類型,例如 CLR Clerks MEMORYCLERK_SQLCLR。不可為 Null。 |
name |
nvarchar(256) |
這個記憶體 Clerk 的內部指派名稱。每一個元件可以有數個特定類型的記憶體 Clerk。元件可選擇使用特定名稱來識別相同類型的記憶體 Clerk。不可為 Null。 |
memory_node_id |
smallint |
記憶體節點的識別碼。不可為 Null。 |
single_pages_kb |
bigint |
已配置的單一頁面記憶體數量 (以 KB 為單位)。這是使用記憶體節點的單一頁面配置器所配置的記憶體數量。這個單一頁面配置器直接從緩衝集區奪取頁面。不可為 Null。 |
multi_pages_kb |
bigint |
已配置的多重頁面記憶體數量 (以 KB 為單位)。這是使用記憶體節點之多重頁面配置器所配置的記憶體數量。這個記憶體是配置在緩衝集區之外,並利用記憶體節點的虛擬配置器。不可為 Null。 |
virtual_memory_reserved_kb |
bigint |
記憶體 Clerk 所保留的虛擬記憶體數量。這是使用這個 Clerk 之元件直接保留的記憶體數量。在大部分情況下,僅緩衝集區使用其記憶體 Clerk 直接保留虛擬位址空間。不可為 Null。 |
virtual_memory_committed_kb |
bigint |
記憶體 Clerk 所認可的虛擬記憶體數量。這是這個 Clerk 所認可的記憶體數量。已認可的記憶體數量一律小於已保留的記憶體數量。不是 NULLABLE。 |
awe_allocated_kb |
bigint |
記憶體 Clerk 使用 Address Windowing Extensions (AWE) 配置的記憶體數量。在 SQL Server 中,只有緩衝集區 Clerk (MEMORYCLERK_SQLBUFFERPOOL) 使用這項機制,而且只有在啟用 AWE 時才會使用。不可為 Null。 |
shared_memory_reserved_kb |
bigint |
記憶體 Clerk 所保留的共用記憶體數量。記憶體數量已保留給共用記憶體和檔案對應使用。不可為 Null。 |
shared_memory_committed_kb |
bigint |
記憶體 Clerk 認可的共用記憶體數量。不可為 Null。 |
page_size_bytes |
bigint |
記憶體 Clerk 可配置的頁面大小。僅支援一種大小,即 8192 個位元組。不可為 Null。 |
page_allocator_address |
varbinary(8) |
頁面配置器的位址。這個位址在記憶體 Clerk 中是唯一的,可用於 sys.dm_os_memory_objects,以尋找繫結這個 Clerk 的記憶體物件。不可為 Null。 |
host_address |
varbinary(8) |
這個記憶體 Clerk 之主機的記憶體位址。如需詳細資訊,請參閱<sys.dm_os_hosts (Transact-SQL)>。MicrosoftSQL Server Native Client 之類的元件是透過主機介面存取 SQL Server 記憶體資源。 0x00000000 = 記憶體 Clerk 屬於 SQL Server。 不可為 Null。 |
權限
需要伺服器的 VIEW SERVER STATE 權限。
備註
SQL Server 記憶體管理員是由三層階層組成。階層底端是記憶體節點。下一層級是由記憶體 Clerk、記憶體快取和記憶體集區所組成。最後一層是由記憶體物件組成。這些物件通常用在 SQL Server 的執行個體中配置記憶體。
記憶體節點為低階配置器提供介面和實作。在 SQL Server 內,只有記憶體 Clerk 可存取記憶體節點。記憶體 Clerk 存取記憶體節點介面來配置記憶體。記憶體節點也追蹤使用 Clerk 配置的記憶體來進行診斷。配置大量記憶體的每一個元件必須建立它自己的記憶體 Clerk,並使用 Clerk 介面來配置它的所有記憶體。元件會在啟動 SQL Server 時建立其對應的 Clerk。