sys.dm_os_memory_pools (Transact-SQL)
针对 SQL Server 实例中存储的每个对象分别返回一行。 可以使用此视图来监视缓存内存使用情况,并识别错误的缓存行为。
列名 |
数据类型 |
说明 |
---|---|---|
memory_pool_address |
varbinary(8) |
代表内存池的项的内存地址。 不可为 null。 |
pool_id |
int |
在一组池中的特定池的 ID。 不可为空值。 |
类型 |
nvarchar(60) |
对象池的类型。 不可为空值。 有关详细信息,请参阅 sys.dm_os_memory_clerks (Transact-SQL)。 |
name |
nvarchar(256) |
系统为此内存对象分配的名称。 不可为空值。 |
max_free_entries_count |
bigint |
池可以拥有的最大可用项的个数。 不可为空值。 |
free_entries_count |
bigint |
池中当前可用项的个数。 不可为空值。 |
removed_in_all_rounds_count |
bigint |
自 SQL Server 实例启动以来从池中删除的项数。 不可为空值。 |
权限
要求对服务器具有 VIEW SERVER STATE 权限。
注释
SQL Server 组件有时使用公用池框架来缓存同种、无状态类型的数据。 池框架比缓存框架更简单。 池中的所有项都被视为是等同的。 在内部,池是内存分配器,并且可以用在使用内存分配器的地方。