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 |
Объем зафиксированной памяти (в КБ), выделенной с помощью механизма распределения одиночных страниц узла памяти. Эта память распределяется из буферного пула. Данное значение указывает на узел, от которого исходит запрос на выделение памяти, а не на физическое положение выделенной памяти.
|
|
pages_kb |
bigint |
Указывает объем зафиксированной памяти (в КБ), выделенной данным узлом NUMA с помощью механизма распределения страниц диспетчера памяти. Не допускает значения NULL.
|
|
multi_pages_kb |
bigint |
Объем зафиксированной памяти (в КБ), выделенной с помощью механизма многостраничного распределения потоков этого узла. Указанная память выделяется из пространства, находящегося вне буферного пула. Данное значение указывает на узел, от которого исходит запрос на выделение памяти, а не на физическое положение выделенной памяти.
|
|
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 на сервере.
См. также
Справочник
Динамические административные представления и функции (Transact-SQL)