共用方式為


sys.dm_os_memory_objects (Transact-SQL)

傳回目前由 SQL Server 配置的記憶體物件。您可以使用 sys.dm_os_memory_objects 來分析記憶體使用情況,以及識別可能的記憶體遺漏。

適用於:SQL Server (SQL Server 2008 至目前版本)。

資料行名稱

資料類型

描述

memory_object_address

varbinary(8)

記憶體物件的位址。 不可為 Null。

parent_address

varbinary(8)

父記憶體物件的位址。 可為 Null。

pages_allocated_count

int

這個物件所配置的頁數。 不可為 Null。

適用於:SQL Server 2008 至 SQL Server 2008 R2。

pages_in_bytes

bigint

這個記憶體物件執行個體所配置的記憶體數量 (以位元組為單位)。 不可為 Null。

適用於:SQL Server 2012 至 SQL Server 2014。

creation_options

int

僅供內部使用。 可為 Null。

bytes_used

bigint

僅供內部使用。 可為 Null。

型別

nvarchar(60)

記憶體物件的類型。

這表示這個記憶體物件所屬的某個元件,或是記憶體物件的函數。 可為 Null。

name

varchar(128)

僅供內部使用。 可為 Null。

memory_node_id

smallint

這個記憶體物件正在使用之記憶體節點的識別碼。 不可為 Null。

creation_time

datetime

僅供內部使用。 可為 Null。

max_pages_allocated_count

int

這個記憶體物件所配置的最大頁數。 不可為 Null。

適用於:SQL Server 2008 至 SQL Server 2008 R2。

page_size_in_bytes

int

這個物件所配置的頁面大小 (以位元組為單位)。 不可為 Null。

適用於:SQL Server 2012 至 SQL Server 2014。

max_pages_in_bytes

bigint

這個記憶體物件所使用的最大記憶體數量。 不可為 Null。

page_allocator_address

varbinary(8)

頁面配置器的記憶體位址。 不可為 Null。 如需詳細資訊,請參閱<sys.dm_os_memory_clerks (Transact-SQL)>。

creation_stack_address

varbinary(8)

僅供內部使用。 可為 Null。

sequence_num

int

僅供內部使用。 可為 Null。

權限

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

備註

記憶體物件是堆積。 它們提供的配置比記憶體 Clerk 所提供的配置資料粒度更細。 SQL Server 元件會使用記憶體物件來取代記憶體 Clerk。 記憶體物件使用記憶體 Clerk 頁面配置器介面來配置頁面。 記憶體物件不使用虛擬或共用記憶體介面。 隨著配置模式的不同,元件可以建立不同類型的記憶體物件,來配置任意大小的頁面。

記憶體物件一般的頁面大小是 8 KB。 然而,累加記憶體物件的頁面大小範圍從 512 位元組到 8 KB 不等。

注意

頁面大小不是最大配置。相對的,頁面大小是頁面配置器支援、記憶體 Clerk 實作的配置資料粒度。您可以從記憶體物件要求大於 8 KB 的配置。

範例

下列範例會傳回各記憶體物件類型配置的記憶體數量。

SELECT SUM (pages_in_bytes) as 'Bytes Used', type 
FROM sys.dm_os_memory_objects
GROUP BY type 
ORDER BY 'Bytes Used' DESC;
GO

請參閱

參考

動態管理檢視和函數 (Transact-SQL)

SQL Server 作業系統相關的動態管理檢視 (Transact-SQL)

sys.dm_os_memory_clerks (Transact-SQL)