sys.dm_os_memory_brokers (Transact-SQL)

SQL Server 的内部分配使用 SQL Server 内存管理器。 跟踪来自 sys.dm_os_process_memory 的进程内存计数器与内部计数器之间的差异可以指示外部组件在 SQL Server 内存空间中的内存使用情况。

内存中介器基于当前使用量和预测的使用量来公平地在 SQL Server 内的各种组件之间分布内存分配。 内存中介器不执行分配。 它们只跟踪内存分配以计算分布情况。

下表提供了有关内存中介器的信息。

列名

数据类型

说明

pool_id

int

在资源池与资源调控器池相关联的情况下的资源池 ID。

memory_broker_type

nvarchar(60)

内存中介器的类型。 目前,SQL Server 中有三种类型的内存中介器。

说明

MEMORYBROKER_FOR_CACHE

分配的供缓存对象使用的内存。

MEMORYBROKER_FOR_STEAL

从缓冲池中盗用的内存。 这种内存在当前所有者释放它之前,不能供其他组件重新使用。

MEMORYBROKER_FOR_RESERVE

供当前正在执行的请求将来使用而保留的内存。

allocations_kb

bigint

已分配给这种类型的中介器的内存量(以 KB 为单位)。

allocations_kb_per_sec

bigint

每秒钟的内存分配速率(以 KB 为单位)。 对于内存释放,该值可以为负值。

predicted_allocations_kb

bigint

由中介器预测的已分配的内存量。 这基于内存使用模式。

target_allocations_kb

bigint

基于当前设置和内存使用模式而建议分配的内存量(以 KB 为单位)。 该中介器应增长或缩减到此数目。

future_allocations_kb

bigint

将在随后几秒内完成的预计分配量(以 KB 为单位)。

overall_limit_kb

bigint

中介器可分配的最大内存量(以 KB 为单位)。

last_notification

nvarchar(60)

基于当前设置和使用模式的内存使用建议。 以下是有效值:

  • 增长

  • 缩减

  • 稳定

权限

需要对服务器具有 VIEW SERVER STATE 权限。

请参阅

参考

动态管理视图和函数 (Transact-SQL)

与 SQL Server 操作系统相关的动态管理视图 (Transact-SQL)