共用方式為


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)>。Microsoft SQL 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。