sys.dm_os_memory_objects (Transact-SQL)

 

QUESTO ARGOMENTO SI APPLICA A:sìSQL Server (a partire dalla versione 2008)sìDatabase SQL di AzuresìAzure SQL Data WarehousesìParallel Data Warehouse

Vengono restituiti gli oggetti di memoria attualmente allocati da SQL Server. È possibile utilizzare DM os_memory_objects per analizzare l'utilizzo della memoria e identificano la memoria possibili perdite.

Nome colonnaTipo di datiDescription
memory_object_addressvarbinary (8)Indirizzo dell'oggetto memoria. Non ammette i valori Null.
parent_addressvarbinary (8)Indirizzo dell'oggetto memoria padre. Ammette i valori Null.
pages_allocated_countintSi applica a: SQL Server 2008 tramite SQL Server 2008 R2.

Numero di pagine allocate dall'oggetto. Non ammette i valori Null.
pages_in_bytesbigintSi applica a: SQL Server 2012 tramite SQL Server 2016.

Quantità di memoria in byte allocata tramite questa istanza dell'oggetto memoria. Non ammette i valori Null.
creation_optionsintSolo per uso interno. Ammette i valori Null.
bytes_usedbigintSolo per uso interno. Ammette i valori Null.
typenvarchar (60)Tipo di oggetto memoria.

Indica un componente a cui appartiene l'oggetto memoria oppure la funzione dell'oggetto memoria. Ammette i valori Null.
namevarchar (128)Solo per uso interno. Ammette valori Null.
memory_node_idsmallintID di un nodo di memoria utilizzato dall'oggetto memoria. Non ammette i valori Null.
creation_timeData/oraSolo per uso interno. Ammette i valori Null.
max_pages_allocated_countintSi applica a: SQL Server 2008 tramite SQL Server 2008 R2.

Numero massimo di pagine allocate dall'oggetto memoria. Non ammette i valori Null.
page_size_in_bytesintSi applica a: SQL Server 2012 tramite SQL Server 2016.

Dimensioni in byte delle pagine allocate dall'oggetto. Non ammette i valori Null.
max_pages_in_bytesbigintQuantità massima di memoria utilizzata da questo oggetto memoria. Non ammette i valori Null.
page_allocator_addressvarbinary (8)Indirizzo di memoria dell'allocatore di pagine. Non ammette i valori Null. Per ulteriori informazioni, vedere DM os_memory_clerks (Transact-SQL).
creation_stack_addressvarbinary (8)Solo per uso interno. Ammette i valori Null.
sequence_numintSolo per uso interno. Ammette i valori Null.
partition_typeintIl tipo di partizione:

0 - oggetto di memoria non partizionabile

1 - oggetto memoria partizionabile, attualmente non partizionata

2 - oggetto memoria partizionabile, partizionato per nodo NUMA. In un ambiente con un singolo nodo NUMA equivale a 1.

3 - oggetto memoria partizionabile, partizionata in base alla CPU.
contention_factorRealUn valore che specifica di contesa per l'oggetto memoria, con 0 che indica che nessun conflitto. Il valore viene aggiornato ogni volta che un determinato numero di allocazioni di memoria sono stato apportato riflettente contesa durante tale periodo. Si applica solo agli oggetti di memoria thread-safe.
waiting_tasks_countbigintNumero di attese di questo oggetto memoria. Questo contatore viene incrementato ogni volta che la memoria viene allocata da questo oggetto memoria. L'incremento è il numero di attività attualmente in attesa dell'accesso a questo oggetto memoria. Si applica solo agli oggetti di memoria thread-safe. Questo è un valore di sforzo migliore senza la garanzia di correttezza.
exclusive_access_countbigintSpecifica la frequenza con cui questo oggetto di memoria è stato eseguito in modo esclusivo. Si applica solo agli oggetti di memoria thread-safe. Questo è un valore di sforzo migliore senza la garanzia di correttezza.
pdw_node_idintSi applica a: Azure SQL Data Warehouse,Parallel Data Warehouse

L'identificatore per il nodo che utilizza questo tipo di distribuzione.

partition_type, contention_factor, waiting_tasks_count, e exclusive_access_count non sono ancora disponibili Database SQL.

È richiesta l'autorizzazione VIEW SERVER STATE per il server.

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.

System_CAPS_ICON_note.jpg 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 superiori a 8 KB dagli oggetti memoria.

Nell'esempio seguente viene restituita la quantità di memoria allocata per ogni tipo di oggetto memoria.

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

Viste a gestione dinamica e funzioni (Transact-SQL)
Sistema operativo SQL Server relative viste a gestione dinamica (Transact-SQL)
DM os_memory_clerks (Transact-SQL)

Aggiunte alla community

AGGIUNGI
Mostra: