sys.dm_os_memory_brokers (Transact-SQL)

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

Брокеры памяти должным образом распределяют выделяемые объемы памяти между различными компонентами SQL Server, основываясь на текущем и прогнозируемом использовании. Брокеры памяти не осуществляют выделение памяти. Ими выполняется только отслеживание операций выделения памяти с целью вычисления необходимого распределения.

Сведения о брокерах памяти приведены в следующей таблице.

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

Имя столбца

Тип данных

Описание

pool_id

int

Идентификатор пула ресурсов, если он связан с пулом регулятора ресурсов.

memory_broker_type

nvarchar(60)

Тип брокера памяти. В настоящее время в SQL Server существуют три типа брокеров памяти.

Значение

Описание

MEMORYBROKER_FOR_CACHE

Память, выделяемая для использования кэшированными объектами.

MEMORYBROKER_FOR_STEAL

Память, заимствованная из буферного пула. Эта память недоступна для повторного использования другими компонентами до тех пор, пока она не будет освобождена текущим владельцем.

MEMORYBROKER_FOR_RESERVE

Память, зарезервированная для будущего использования запросами, выполняемыми в настоящий момент.

allocations_kb

bigint

Объем памяти, в килобайтах (КБ), выделенный для этого типа брокера.

allocations_kb_per_sec

bigint

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

predicted_allocations_kb

bigint

Прогнозируемый объем выделенной памяти для брокера. Основывается на закономерности использования памяти.

target_allocations_kb

bigint

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

future_allocations_kb

bigint

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

overall_limit_kb

bigint

Максимальный объем памяти, в килобайтах (КБ), который может быть выделен брокером.

last_notification

nvarchar(60)

Рекомендация по использованию памяти, основанная на текущих параметрах и закономерностях использования памяти. Допустимы следующие значения:

  • grow

  • shrink

  • stable

Разрешения

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

См. также

Справочник

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

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