Share via


sys.dm_os_memory_objects (Transact-SQL)

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

資料行名稱

資料類型

描述

memory_object_address

varbinary(8)

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

parent_address

varbinary(8)

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

pages_allocated_count

int

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

creation_options

int

僅供內部使用。可為 Null。

bytes_used

bigint

僅供內部使用。可為 Null。

type

nvarchar(60)

記憶體物件的類型。

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

name

varchar(128)

僅供內部使用。可為 Null。

memory_node_id

smallint

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

creation_time

datetime

僅供內部使用。NULLABLE。

page_size_in_bytes

int

這個物件所配置的頁面大小。不可為 Null。

max_pages_allocated_count

int

這個記憶體物件所配置的最大頁數。不可為 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 千位元組不等。

[!附註]

頁面大小不是最大配置。相對的,頁面大小是頁面配置器支援、記憶體 Clerk 實作的配置資料粒度。您可以從記憶體物件要求 16 KB 以上的配置,要求最終會被導引到記憶體節點的多頁配置器。

範例

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

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