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)

sys.dm_os_memory_clerks (Transact-SQL)