sys.dm_os_memory_nodes (Transact-SQL)

Внутреннее распределение памяти в SQL Server осуществляется с помощью диспетчера памяти SQL Server. Объем использования внешними компонентами адресного пространства памяти SQL Server можно определить путем нахождения разности между значениями счетчиков памяти из представления sys.dm_os_process_memory и значениями внутренних счетчиков.

Узлы создаются для каждого физического узла памяти NUMA. Эти узлы могут отличаться от узлов ЦП в представлении sys.dm_os_nodes.

Распределение памяти, выполняемое напрямую с помощью процедур распределения памяти Windows, не отслеживается. В следующей таблице приведены данные о распределении памяти, выполненном исключительно с помощью интерфейса диспетчера памяти SQL Server.

Применимо для следующих объектов: SQL Server (начиная с SQL Server 2008 до текущей версии).

Имя столбца

Тип данных

Описание

memory_node_id

smallint

Указывает идентификатор узла памяти. Связан со значением memory_node_id представления sys.dm_os_memory_clerks. Не допускает значения NULL.

virtual_address_space_reserved_kb

bigint

Указывает объем зарезервированного виртуального адресного пространства (в КБ), которое не зафиксировано и не сопоставлено с физическими страницами. Не допускает значения NULL.

virtual_address_space_committed_kb

bigint

Указывает объем виртуального адресного пространства (в КБ), зафиксированного или сопоставленного с физическими страницами. Не допускает значения NULL.

locked_page_allocations_kb

bigint

Указывает объем физической памяти (в КБ), заблокированной SQL Server. Не допускает значения NULL.

single_pages_kb

bigint

Объем зафиксированной памяти (в КБ), выделенной с помощью механизма распределения одиночных страниц узла памяти. Эта память распределяется из буферного пула. Данное значение указывает на узел, от которого исходит запрос на выделение памяти, а не на физическое положение выделенной памяти.

Применимо для следующих объектов: С SQL Server 2008 по SQL Server 2008 R2 включительно.

pages_kb

bigint

Указывает объем зафиксированной памяти (в КБ), выделенной данным узлом NUMA с помощью механизма распределения страниц диспетчера памяти. Не допускает значения NULL.

Применимо для следующих объектов: С SQL Server 2012 по SQL Server 2014 включительно.

multi_pages_kb

bigint

Объем зафиксированной памяти (в КБ), выделенной с помощью механизма многостраничного распределения потоков этого узла. Указанная память выделяется из пространства, находящегося вне буферного пула. Данное значение указывает на узел, от которого исходит запрос на выделение памяти, а не на физическое положение выделенной памяти.

Применимо для следующих объектов: С SQL Server 2008 по SQL Server 2008 R2 включительно.

shared_memory_reserved_kb

bigint

Указывает объем общей памяти (в КБ), зарезервированной данным узлом. Не допускает значения NULL.

shared_memory_committed_kb

bigint

Указывает объем общей памяти (в КБ), зафиксированной данным узлом. Не допускает значения NULL.

cpu_affinity_mask

bigint

Только для внутреннего применения. Не допускает значения NULL.

Применимо для следующих объектов: С SQL Server 2012 по SQL Server 2014 включительно.

online_scheduler_mask

bigint

Только для внутреннего применения. Не допускает значения NULL.

Применимо для следующих объектов: С SQL Server 2012 по SQL Server 2014 включительно.

processor_group

smallint

Только для внутреннего применения. Не допускает значения NULL.

Применимо для следующих объектов: С SQL Server 2012 по SQL Server 2014 включительно.

foreign_committed_kb

bigint

Указывает объем общей памяти (в КБ), зафиксированной другими узлами памяти. Не допускает значения NULL.

Применимо для следующих объектов: С SQL Server 2012 по SQL Server 2014 включительно.

Разрешения

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

См. также

Справочник

Динамические административные представления и функции (Transact-SQL)

Динамические административные представления, относящиеся к операционной системе SQL Server (Transact-SQL)