Skip to main content
sys.dm_os_memory_objects (Transact-SQL)
 

ПРИМЕНЯЕТСЯ К: даSQL Server (начиная с 2008) даБаза данных SQL Azure даХранилище данных SQL Azure даParallel Data Warehouse

Возвращает объекты памяти, которые выделяются в настоящее время SQL Server. Можно использовать sys.dm_os_memory_objects для анализа использования памяти и для выявления возможных памяти утечек.

Имя столбцаТип данныхDescription
memory_object_addressvarbinary(8)Адрес объекта памяти. Не допускает значение NULL.
parent_addressvarbinary(8)Адрес родительского объекта памяти. Допускает значение NULL.
pages_allocated_countintОбласть применения: начиная с SQL Server 2008 до SQL Server 2008 R2.

Число страниц, выделенных данным объектом. Не допускает значение NULL.
pages_in_bytesbigintОбласть применения: начиная с SQL Server 2012 до SQL Server 2016.

Объем памяти в байтах, выделяемый этим экземпляром объекта памяти. Не допускает значение NULL.
creation_optionsintТолько для внутреннего применения. Допускает значение NULL.
bytes_usedbigintТолько для внутреннего применения. Допускает значение NULL.
typenvarchar(60)Тип объекта памяти.

Указывает компонент, которому принадлежит данный объект памяти, либо функцию объекта памяти. Допускает значение NULL.
namevarchar(128)Только для внутреннего применения. Допускает значение NULL.
memory_node_idsmallintИдентификатор узла памяти, используемого данным объектом памяти. Не допускает значение NULL.
creation_timeдаты и времениТолько для внутреннего применения. Допускает значение NULL.
max_pages_allocated_countintОбласть применения: начиная с SQL Server 2008 до SQL Server 2008 R2.

Максимальное число страниц, выделенных данным объектом. Не допускает значение NULL.
page_size_in_bytesintОбласть применения: начиная с SQL Server 2012 до SQL Server 2016.

Размер страниц в байтах, выделенных данным объектом. Не допускает значение NULL.
max_pages_in_bytesbigintМаксимальный объем памяти, который когда-либо использовался данным объектом памяти. Не допускает значение NULL.
page_allocator_addressvarbinary(8)Адрес средства выделения страниц в памяти. Не допускает значение NULL. Дополнительные сведения см. в разделе sys.dm_os_memory_clerks (Transact-SQL).
creation_stack_addressvarbinary(8)Только для внутреннего применения. Допускает значение NULL.
sequence_numintТолько для внутреннего применения. Допускает значение NULL.
partition_typeintТип раздела:

0 — неделимых объекта памяти

1 - объект секционирования памяти, в настоящее время не секционирована

2 - секционирования памяти объекта, разделенный на узле NUMA. В среде с одним узлом NUMA это эквивалентно 1.

3 - объект памяти секционирования секционированной по ЦП.
contention_factorреальныеЗначение, указывающее конкуренции на данный объект памяти с 0, то есть без возникновения конфликтов. Значение обновляется каждый раз, когда указанное число операций выделения памяти были внесены отражающей конкуренции за этот период. Применяется только к объектам памяти поточно ориентированными.
waiting_tasks_countbigintЧисло ожиданий данного объекта памяти. Значение этого счетчика увеличивается каждый раз, когда память выделяется из данного объекта памяти. Приращение является число задач, которые в настоящее время ожидания для доступа к этому объекту памяти. Применяется только к объектам памяти поточно ориентированными. Это лучший усилий значение без гарантии правильности.
exclusive_access_countbigintУказывает, как часто исключительно получен данный объект памяти. Применяется только к объектам памяти поточно ориентированными. Это лучший усилий значение без гарантии правильности.
pdw_node_idintПрименяется к: Хранилище данных SQL Azure,Параллельное хранилище данных

Идентификатор узла, который это распределение.

partition_type, contention_factor, waiting_tasks_count, и exclusive_access_count еще не реализованы в База данных SQL.

необходимо разрешение VIEW SERVER STATE на сервере.

Объекты памяти представляют собой кучи. Они обеспечивают выделение памяти с большей точностью, чем клерки памяти. Компоненты SQL Server используют вместо клерков памяти объекты памяти. Объекты памяти для выделения страниц используют интерфейс средства выделения памяти от клерка памяти. Виртуальные или общие интерфейсы памяти объектами памяти не используются. В зависимости от шаблонов выделения памяти компоненты могут создавать различные типы объектов для выделения областей памяти произвольного размера.

Стандартный размер страницы для объекта памяти равен 8 КБ. Однако для добавочных объектов памяти размеры страниц могут варьироваться от 512 байт до 8 килобайт.

System_CAPS_ICON_note.jpg Примечание


Размер страницы не означает максимально возможный размер выделенной памяти. Он представляет собой гранулярность выделения страниц, поддерживаемую средством выделения и реализуемую клерком памяти. От объекта памяти можно запросить выделение объема свыше 8 килобайт.

В следующем примере возвращается объем памяти, выделенный каждым типом объектов памяти.

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)
Динамические административные представления (Transact-SQL) относящиеся к операционной системе SQL Server
sys.dm_os_memory_clerks (Transact-SQL)