Поделиться через


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.

Имя столбца

Тип данных

Описание

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.

pages_kb

bigint

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

shared_memory_reserved_kb

bigint

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

shared_memory_committed_kb

bigint

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

cpu_affinity_mask

bigint

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

online_scheduler_mask

bigint

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

processor_group

smallint

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

foreign_committed_kb

bigint

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

Разрешения

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

Поддержка совместимости

В SQL Server 2012 следующие столбцы были переименованы.

Предыдущее имя столбца

Новое имя столбца

single_pages_kb

pages_kb

multi_pages_kb

foreign_committed_kb

См. также

Справочник

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

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