Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Restituisce gli oggetti memoria allocati da SQL Server. sys.dm_os_memory_objects viene principalmente utilizzata per analizzare l'utilizzo della memoria e per individuare possibili perdite di memoria.
| Nome colonna | Tipo di dati | Descrizione |
|---|---|---|
memory_object_address |
varbinary(8) |
Indirizzo dell'oggetto memoria. Non supporta valori Null. |
parent_address |
varbinary(8) |
Indirizzo dell'oggetto memoria padre. Supporta valori Null. |
pages_allocated_count |
int |
Numero di pagine allocate dall'oggetto. Non supporta valori Null. |
creation_options |
int |
Solo per uso interno. Supporta valori Null. |
bytes_used |
bigint |
Solo per uso interno. Supporta valori Null. |
type |
nvarchar(60) |
Tipo di oggetto memoria. Indica un componente a cui appartiene l'oggetto memoria oppure la funzione dell'oggetto memoria. Supporta valori Null. |
name |
varchar(128) |
Solo per uso interno. Supporta valori Null. |
memory_node_id |
smallint |
ID di un nodo di memoria utilizzato dall'oggetto memoria. Non supporta valori Null. |
creation_time |
datetime |
Solo per uso interno. Supporta valori Null. |
page_size_in_bytes |
int |
Dimensioni delle pagine allocate dall'oggetto. Non supporta valori Null. |
max_pages_allocated_count |
int |
Numero massimo di pagine allocate dall'oggetto memoria. Non supporta valori Null. |
page_allocator_address |
varbinary(8) |
Indirizzo di memoria dell'allocatore di pagine. Non supporta valori Null. Per ulteriori informazioni, vedere sys.dm_os_memory_clerks. |
creation_stack_address |
varbinary(8) |
Solo per uso interno. Supporta valori Null. |
sequence_num |
int |
Solo per uso interno. Supporta valori Null. |
Autorizzazioni
È richiesta l'autorizzazione VIEW SERVER STATE nel server.
Osservazioni
Gli oggetti memoria sono heap. Le allocazioni implementate dagli oggetti sono caratterizzate da una maggiore granularità rispetto alle allocazioni implementate dai clerk di memoria. I componenti di SQL Server utilizzano oggetti memoria anziché clerk di memoria. Gli oggetti memoria utilizzano l'interfaccia dell'allocatore di pagine del clerk di memoria per allocare le pagine. Gli oggetti memoria non utilizzano interfacce di memoria virtuale o condivisa. In base al modello di allocazione, i componenti possono creare tipi diversi di oggetti memoria per allocare aree di dimensioni arbitrarie.
Le dimensioni di pagina tipiche di un oggetto memoria sono pari a 8 KB. Gli oggetti memoria incrementale possono tuttavia avere dimensioni di pagina da 512 byte a 8 KB.
[!NOTA] Le dimensioni di pagina non corrispondono a un'allocazione massima. Le dimensioni di pagina corrispondono invece alla granularità dell'allocazione supportata da un allocatore di pagine e implementata da un clerk di memoria. È possibile richiedere allocazioni maggiori o uguali a 16 KB dagli oggetti memoria. La richiesta viene quindi diretta all'allocatore di pagine multiple del nodo di memoria.
Esempi
Nell'esempio seguente viene restituita la quantità di memoria allocata per ogni tipo di oggetto memoria.
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
Vedere anche
Riferimento
Funzioni e viste a gestione dinamica
Viste a gestione dinamica relative al sistema operativo di SQL Server
sys.dm_os_memory_clerks