sys.dm_os_memory_objects (Transact-SQL)
Devuelve los objetos de memoria asignados actualmente por SQL Server. Puede usar sys.dm_os_memory_objects para analizar el uso de la memoria y para identificar posibles pérdidas de memoria.
Nombre de columna |
Tipo de datos |
Descripción |
---|---|---|
memory_object_address |
varbinary(8) |
Dirección del objeto de memoria. No acepta valores NULL. |
parent_address |
varbinary(8) |
Dirección del objeto de memoria primario. Acepta valores NULL. |
pages_in_bytes |
bigint |
Cantidad de memoria en bytes que esta instancia del objeto de memoria asigna. No acepta valores NULL. |
creation_options |
int |
Solo para uso interno. Admite valores NULL. |
bytes_used |
bigint |
Solo para uso interno. Acepta valores NULL. |
type |
nvarchar(60) |
Tipo de objeto de memoria. Indica algún componente al que pertenece este objeto de memoria, o la función del objeto de memoria. Admite valores NULL. |
name |
varchar(128) |
Solo para uso interno. Acepta valores NULL. |
memory_node_id |
smallint |
Identificador de un nodo de memoria que utiliza este objeto de memoria. No acepta valores NULL. |
creation_time |
datetime |
Solo para uso interno. Acepta valores NULL. |
page_size_in_bytes |
int |
Tamaño de las páginas asignadas por este objeto, en bytes. No acepta valores NULL. |
max_pages_in_bytes |
bigint |
Cantidad máxima de memoria que este objeto de memoria nunca usó. No acepta valores NULL. |
page_allocator_address |
varbinary(8) |
Dirección de memoria del asignador de la página. No acepta valores NULL. Para obtener más información, vea sys.dm_os_memory_clerks (Transact-SQL). |
creation_stack_address |
varbinary(8) |
Solo para uso interno. Acepta valores NULL. |
sequence_num |
int |
Solo para uso interno. Acepta valores NULL. |
Permisos
Requiere el permiso VIEW SERVER STATE en el servidor.
Comentarios
Los objetos de memoria son montones. Proporcionan asignaciones con una granularidad más fina que las que proporcionan los distribuidores de memoria. Los componentes de SQL Server utilizan objetos de memoria en lugar de distribuidores de memoria. Los objetos de memoria utilizan la interfaz del asignador de la página del distribuidor de memoria para asignar páginas. Los objetos de memoria no utilizan interfaces de memoria virtual o compartida. Según los patrones de asignación, los componentes pueden crear diferentes tipos de objetos de memoria para asignar regiones de tamaño arbitrario.
El tamaño de página típico para un objeto de memoria es de 8 KB. No obstante, los objetos de memoria incrementales pueden tener tamaños de página que van desde 512 bytes hasta 8 KB.
[!NOTA]
El tamaño de página no tiene una asignación máxima. En su lugar, el tamaño de página es la granularidad de la asignación que admite una asignador de la página y que se implementa mediante un distribuidor de memoria. Puede solicitar asignaciones superiores a 8 KB de los objetos de memoria.
Soporte de compatibilidad
En SQL Server 2012 se ha cambiado el nombre de las siguientes columnas.
Nombre de columna anterior |
Nombre de columna nuevo |
---|---|
pages_allocated_count |
pages_in_bytes |
max_pages_allocated_count |
max_pages_in_bytes |
Ejemplos
En el siguiente ejemplo se devuelve la cantidad de memoria asignada por cada tipo de objeto de 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
Vea también
Referencia
Funciones y vistas de administración dinámica (Transact-SQL)
Vistas de administración dinámica relacionadas con el sistema operativo de SQL Server (Transact-SQL)