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_in_bytes |
bigint |
Объем памяти в байтах, выделяемый этим экземпляром объекта памяти. Значение NULL недопустимо. |
creation_options |
int |
Только для внутреннего использования. Допускает значения NULL. |
bytes_used |
bigint |
Только для внутреннего использования. Значение NULL допустимо. |
тип |
nvarchar(60) |
Тип объекта памяти. Указывает компонент, которому принадлежит данный объект памяти, либо функцию объекта памяти. Допускает значения NULL. |
name |
varchar(128) |
Только для внутреннего использования. Значение NULL допустимо. |
memory_node_id |
smallint |
Идентификатор узла памяти, используемого данным объектом памяти. Значение NULL недопустимо. |
creation_time |
datetime |
Только для внутреннего использования. Значение NULL допустимо. |
page_size_in_bytes |
int |
Размер страниц в байтах, выделенных данным объектом. Значение NULL недопустимо. |
max_pages_in_bytes |
bigint |
Максимальный объем памяти, который когда-либо использовался данным объектом памяти. Значение 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 на сервере.
Замечания
Объекты памяти представляют собой кучи. Они обеспечивают выделение памяти с большей точностью, чем клерки памяти. Компоненты SQL Server используют вместо клерков памяти объекты памяти. Объекты памяти для выделения страниц используют интерфейс средства выделения памяти от клерка памяти. Виртуальные или общие интерфейсы памяти объектами памяти не используются. В зависимости от шаблонов выделения памяти компоненты могут создавать различные типы объектов для выделения областей памяти произвольного размера.
Стандартный размер страницы для объекта памяти равен 8 КБ. Однако для добавочных объектов памяти размеры страниц могут варьироваться от 512 байт до 8 килобайт.
Примечание |
---|
Размер страницы не означает максимально возможный размер выделенной памяти. Он представляет собой гранулярность выделения страниц, поддерживаемую средством выделения и реализуемую клерком памяти. От объекта памяти можно запросить выделение объема свыше 8 килобайт. |
Поддержка совместимости
В SQL Server 2012 следующие столбцы были переименованы.
Предыдущее имя столбца |
Новое имя столбца |
---|---|
pages_allocated_count |
pages_in_bytes |
max_pages_allocated_count |
max_pages_in_bytes |
Примеры
В следующем примере возвращается объем памяти, выделенный каждым типом объектов памяти.
SELECT SUM (pages_in_bytes) as 'Bytes Used', type
FROM sys.dm_os_memory_objects
GROUP BY type
ORDER BY 'Bytes Used' DESC;
GO
См. также
Справочник
Динамические административные представления и функции (Transact-SQL)