使用 DBCC MEMORYSTATUS 命令监视 SQL Server 中的内存使用情况
本文介绍如何使用 DBCC MEMORYSTATUS
命令监视内存使用情况。
原始产品版本:SQL Server
原始 KB 数: 907877
简介
此命令 DBCC MEMORYSTATUS
提供 SQL Server 和 OS Microsoft当前内存状态的快照。 它提供 SQL Server 中内存分布和使用情况最详细的输出之一。 可以使用输出来排查 SQL Server 中的内存消耗问题,或者排查特定的内存不足错误。 许多内存不足错误会在错误日志中自动生成此输出。 如果遇到与内存不足条件相关的错误,则可以运行DBCC MEMORYSTATUS
该命令并在联系Microsoft 支持部门时提供输出。
该命令的 DBCC MEMORYSTATUS
输出包括用于内存管理、内存使用情况、聚合内存信息、缓冲池信息和过程缓存信息的节。 它还介绍了全局内存对象、查询内存对象、优化和内存代理的输出。
注意
性能监视器(PerfMon)和任务管理器不会考虑完整内存使用量(如果出现)“内存中的锁定页面”选项已启用。 没有显示地址窗口扩展 (AWE) API 内存使用情况的性能计数器。
重要
该DBCC MEMORYSTATUS
命令旨在成为用于Microsoft 支持部门的诊断工具。 输出的格式和提供的详细信息级别可能会更改 Service Pack 和产品版本。 命令提供的功能 DBCC MEMORYSTATUS
可能被更高产品版本中的不同机制所取代。 因此,在更高版本的产品版本中,此命令可能不再起作用。 在更改或删除此命令之前,不会提供任何其他警告。 因此,使用此命令的应用程序可能会中断而不发出警告。
该命令的 DBCC MEMORYSTATUS
输出已从 SQL Server 的早期版本更改。 目前,它包含几个在早期产品版本中不可用的表。
如何使用 DBCC MEMORYSTATUS
DBCC MEMORYSTATUS
通常用于调查 SQL Server 报告的低内存问题。 如果 SQL Server 进程外部存在外部内存压力或来自进程中的内部压力,则可能会出现内存不足的情况。 内部压力可能是由 SQL Server 数据库引擎或进程内运行的其他组件(例如链接服务器、XPs、SQLCLR、入侵防护或防病毒软件)引起的。 有关如何排查内存压力的详细信息,请参阅 SQL Server 中的内存不足或内存不足问题疑难解答。
下面是使用命令并解释其结果的一般步骤。 特定方案可能要求你以不同的方式处理输出,但此处概述了总体方法。
- 运行
DBCC MEMORYSTATUS
命令。 - 使用进程/系统计数和内存管理器部分来确定是否存在外部内存压力(例如,计算机在物理内存或虚拟内存上较低,或者 SQL Server 工作集已分页)。 此外,使用这些部分来确定与系统上的总体内存相比,SQL Server 数据库引擎分配的内存量。
- 如果确定存在外部内存压力,请尝试减少其他应用程序和 OS 的内存使用量,或添加更多 RAM。
- 如果确定 SQL Server 引擎使用的是大部分内存(内部内存压力),则可以使用剩余部分
DBCC MEMORYSTATUS
来确定哪些组件(内存 clerk、Cachestore、UserStore 或 Objectstore)是此内存使用量的最大参与者。 - 检查每个组件:
MEMORYCLEARK
、CACHESTORE
、USERSTORE
和OBJECTSTORE
。 检查其 Pages 分配值,以确定组件在 SQL Server 内消耗的内存量。 有关大多数数据库引擎内存组件的简要说明,请参阅 内存 Clerk 类型 表。- 在极少数情况下,分配是直接虚拟分配,而不是通过 SQL Server 内存管理器。 在这些情况下,检查特定组件下的 VM 提交值,而不是分配的页面。
- 如果计算机使用 NUMA,则每个节点会分解一些内存组件。 例如,可以观察
OBJECTSTORE_LOCK_MANAGER (node 0)
、OBJECTSTORE_LOCK_MANAGER (node 1)
观察OBJECTSTORE_LOCK_MANAGER (node 2)
等,最后观察每个节点OBJECTSTORE_LOCK_MANAGER (Total)
的总和值。 最开始的地方是在报告总值的部分,然后根据需要检查明细。 有关详细信息,请参阅 NUMA 节点的内存使用情况。
- 某些
DBCC MEMORYSTATUS
部分提供有关特定内存分配器的详细信息和专用信息。 可以使用这些部分来了解更多详细信息,并查看内存职员中分配的进一步细分。 此类部分的示例包括缓冲池(数据和索引缓存)、过程缓存/计划缓存、查询内存对象(内存授予)、优化队列和中大型网关(优化器内存)。 如果已知道 SQL Server 中的某个特定内存组件是内存压力的来源,则可能希望直接转到该特定部分。 例如,如果以某种其他方式建立了导致内存错误的内存授予使用率高的情况,则可以查看 “查询内存对象 ”部分。
本文的其余部分介绍了输出中的 DBCC MEMORYSTATUS
一些有用计数器,可让你更有效地诊断内存问题。
进程/系统计数
Process/System Counts Value
------------------------------------ ------------
Available Physical Memory 5060247552
Available Virtual Memory 140710048014336
Available Paging File 7066804224
Working Set 430026752
Percent of Committed Memory in WS 100
Page Faults 151138
System physical memory high 1
System physical memory low 0
Process physical memory low 0
Process virtual memory low 0
以下列表讨论值及其说明:
- 可用物理内存:此值显示计算机上的可用内存总量。 在此示例中,可用内存为 5,060,247,552 字节。
- 可用虚拟内存:此值显示 SQL Server 进程的可用虚拟内存总量为 140,710,048,014,336 字节(128 TB)。 有关详细信息,请参阅 内存和地址空间限制。
- 可用分页文件:此值显示可用分页文件空间。 在此示例中,值为 7,066,804,224 字节。
- 工作集:此值显示 SQL Server 进程在 RAM 中具有的总虚拟内存量(未分页)为 430,026,752 字节。
- WS 中已提交的内存百分比:此值显示分配的 SQL Server 虚拟内存的百分比驻留在 RAM 中(或工作集)。 100% 的值显示所有已提交的内存都存储在 RAM 中,其中 0% 已分页。
- 页面错误:此值显示 SQL Server 的硬页面故障和软页面错误总数。 在此示例中,值为 151,138。
其余四个值为二进制值或布尔值。
- 系统物理内存高 值 1 表示 SQL Server 认为计算机上的可用物理内存较高。 这就是为什么系统物理内存的低值为 0,这意味着内存不足。 类似的逻辑应用于 进程物理内存不足 和 进程虚拟内存不足,其中 0 表示它为 false,1 表示它为 true。 在此示例中,这两个值均为 0,这意味着 SQL Server 进程有足够的物理和虚拟内存。
内存管理器
本部分提供内存管理器的示例输出,其中显示了 SQL Server 的总体内存消耗量。
Memory Manager KB
-------------------------- --------------------
VM Reserved 36228032
VM Committed 326188
Locked Pages Allocated 0
Large Pages Allocated 0
Emergency Memory 1024
Emergency Memory In Use 16
Target Committed 14210416
Current Committed 326192
Pages Allocated 161904
Pages Reserved 0
Pages Free 5056
Pages In Use 286928
Page Alloc Potential 15650992
NUMA Growth Phase 0
Last OOM Factor 0
Last OS Error 0
以下列表讨论输出中的值及其说明:
VM 保留:此值显示 SQL Server 已保留的虚拟地址空间(VAS)或虚拟内存(VM)的总量。 虚拟内存预留实际上不使用物理内存;它只是意味着虚拟地址被放在大型 VAS 中。 有关详细信息,请参阅 VirtualAlloc(), MEM_RESERVE。
VM 已提交:此值显示 SQL Server 已提交的虚拟内存(以 KB 为单位)的总量。 这意味着进程使用的内存由物理内存支持,或者页面文件不太频繁。 以前保留的内存地址现在由物理存储提供支持;这是分配的。 如果启用了“内存中锁定的页”,SQL Server 将使用替代方法来分配内存,AWE API 和大多数内存不会反映在此计数器中。 请参阅[已分配的锁定页](#Locked 已分配的页面)。 有关详细信息,请参阅 VirtualAlloc(), MEM_COMMIT。
分配的页面:此值显示 SQL Server 数据库引擎分配的内存页总数。
已分配的锁定页:此值表示 SQL Server 使用 AWE API 在物理 RAM 中分配和锁定的内存量(KB)。 它指示 SQL Server 正在使用的内存量,并请求保留在内存中以优化性能。 通过锁定内存中的页,SQL Server 可确保关键数据库页随时可用,并且不会交换到磁盘。 有关详细信息,请参阅 地址 Windows 扩展 (AWE) 内存。 值为零表示“内存中锁定的页”功能当前处于禁用状态,SQL Server 改用虚拟内存。 在这种情况下,VM 提交值表示分配给 SQL Server 的内存。
分配的大型页:此值表示使用大型页的 SQL Server 分配的内存量。 大型页面是操作系统提供的内存管理功能。 此功能不使用标准页面大小(通常为 4 KB),而是使用更大的页面大小,例如 2 MB 或 4 MB。 值为零表示未启用该功能。 有关详细信息,请参阅 虚拟 Alloc(), MEM_LARGE_PAGES。
目标已提交:此值指示 SQL Server 的目标内存量,根据最近的工作负荷,SQL Server 可能消耗的理想内存量。
当前已提交:此值指示 SQL Server 内存管理器当前已提交(在物理存储中分配)操作系统内存量(以 KB 为单位)。 此值包括“内存中锁定的页面”(AWE API)或虚拟内存。 因此,此值与分配的 VM 已提交或锁定页接近或相同。 请注意,当 SQL Server 使用 AWE API 时,OS 虚拟内存管理器仍分配一些内存,并将作为 VM 提交反映。
NUMA 增长阶段:此值指示 SQL Server 当前是否处于 NUMA 增长阶段。 有关计算机上存在 NUMA 节点时此初始内存增加的详细信息,请参阅“工作原理:SQL Server”(NUMA 本地、外部和离开内存块)。
上次 OS 错误:此值显示系统出现内存压力时发生的最后一个 OS 错误。 SQL Server 记录 OS 错误并将其显示在输出中。 有关 OS 错误的完整列表,请参阅 系统错误代码。
NUMA 节点的内存使用情况
“内存管理器”部分后跟每个内存节点的内存使用情况摘要。 在启用了非统一内存访问(NUMA)的系统中,每个硬件 NUMA 节点都有相应的内存节点条目。 在 SMP 系统中,有一个内存节点条目。 同一模式应用于其他内存部分。
Memory node Id = 0 KB
----------------------- -----------
VM Reserved 21289792
VM Committed 272808
Locked Pages Allocated 0
Pages Allocated 168904
Pages Free 3040
Target Committed 6664712
Current Committed 272808
Foreign Committed 0
Away Committed 0
Taken Away Committed 0
注意
- 该值
Memory node Id
可能与硬件节点 ID 不对应。 - 这些值显示此 NUMA 节点上运行的线程分配的内存。 这些值不是 NUMA 节点本地的内存。
- VM 保留值和所有内存节点上的 VM 提交值的总和将略低于内存管理器表中报告的相应值。
- NUMA 节点 64(节点 64)是为 DAC 保留的,很少对内存调查感兴趣,因为此连接使用有限的内存资源。 有关专用管理员连接(DAC)的详细信息,请参阅 数据库管理员的诊断连接。
以下列表讨论了输出表中的值及其说明:
- VM 保留:显示在此节点上运行的线程保留的虚拟地址空间(VAS)。
- VM 已提交:显示在此节点上运行的线程提交的 VAS。
聚合内存
下表包含每个 clerk 类型和 NUMA 节点的聚合内存信息。 对于启用了 NUMA 的系统,你可能会看到如下所示的输出:
MEMORYCLERK_SQLGENERAL (node 0) KB
------------------------------ --------------------
VM Reserved 0
VM Committed 0
Locked Pages Allocated 0
SM Reserved 0
SM Commited 0
Pages Allocated 5416
MEMORYCLERK_SQLGENERAL (node 1) KB
------------------------------- --------------------
VM Reserved 0
VM Committed 0
Locked Pages Allocated 0
SM Reserved 0
SM Commited 0
Pages Allocated 136
MEMORYCLERK_SQLGENERAL (Total) KB
------------------------------- --------------------
VM Reserved 0
VM Committed 0
Locked Pages Allocated 0
SM Reserved 0
SM Commited 0
Pages Allocated 5552
该值 Pages Allocated
显示由特定组件(内存 clerk、userstore、objectstore 或缓存存储)分配给的内存页总数。
注意
这些节点 ID 对应于运行 SQL Server 的计算机的 NUMA 节点配置。 节点 ID 包括在硬件 NUMA 节点或 SMP 系统之上定义的可能软件 NUMA 节点。 若要查找每个节点的节点 ID 与 CPU 之间的映射,请参阅信息事件 ID 17152。 启动 SQL Server 时,此事件将记录在应用程序日志事件查看器。
对于 SMP 系统,每个 clerk 类型只看到一个表,而不是计算 DAC 使用的节点 = 64。 下表类似于以下示例。
MEMORYCLERK_SQLGENERAL (Total) KB
--------------------------------- --------------------
VM Reserved 0
VM Committed 0
AWE Allocated 0
SM Reserved 0
SM Commited 0
Pages Allocated 2928
这些表中的其他信息与共享内存有关:
- SM 保留:显示使用内存映射文件 API 的所有此类职员保留的 VAS。 此 API 也称为 共享内存。
- SM 已提交:显示此类所有使用内存映射文件 API 的职员提交的 VAS。
作为替代方法,可以使用sys.dm_os_memory_clerks动态管理视图(DMV)获取所有内存节点的每个 clerk 类型的摘要信息。 为此,请运行以下查询:
SELECT
TYPE,
SUM(virtual_memory_reserved_kb) AS [VM Reserved],
SUM(virtual_memory_committed_kb) AS [VM Committed],
SUM(awe_allocated_kb) AS [AWE Allocated],
SUM(shared_memory_reserved_kb) AS [SM Reserved],
SUM(shared_memory_committed_kb) AS [SM Committed],
-- SUM(multi_pages_kb) AS [MultiPage Allocator], /*Applies to: SQL Server 2008 (10.0.x) through SQL Server 2008 R2 (10.50.x).*/
-- SUM(single_pages_kb) AS [SinlgePage Allocator], /*Applies to: SQL Server 2008 (10.0.x) through SQL Server 2008 R2 (10.50.x).*/
SUM(pages_kb) AS [Page Allocated] /*Applies to: SQL Server 2012 (11. x) and later.*/
FROM sys.dm_os_memory_clerks
GROUP BY TYPE
缓冲池详细信息
这是一个重要部分,它提供缓冲池中不同状态数据和索引页的细分,也称为数据缓存。 以下输出表列出了有关缓冲池和其他信息的详细信息。
Buffer Pool Pages
------------------------------------------------- ---------
Database 5404
Simulated 0
Target 16384000
Dirty 298
In IO 0
Latched 0
IO error 125
In Internal Pool 0
Page Life Expectancy 3965
以下列表讨论输出中的值及其说明:
- 数据库:显示具有数据库内容(数据和索引页)的缓冲区数(页)。
- 目标:显示缓冲池的目标大小(缓冲区计数)。 请参阅 本文前面部分的目标提交 内存。
- 脏:显示具有数据库内容和已修改的页面。 这些缓冲区包含一般由检查点进程刷新到磁盘的更改。
- 在 IO 中:显示正在等待挂起的 I/O 操作的缓冲区。 这意味着这些页面的内容是写入存储中还是从存储中读取。
- 闩锁:显示闩锁缓冲区。 当线程正在读取或修改页面的内容时,缓冲区会闩锁。 从磁盘读取页或写入磁盘时,缓冲区也会闩锁。 闩锁用于在读取或修改数据时保持页面上数据的物理一致性。 相比之下,锁用于维护逻辑和事务一致性。
- IO 错误:显示可能遇到任何 I/O 相关 OS 错误的缓冲区计数(这不一定指示问题)。
- 页生存期:此计数器度量最旧页面在缓冲池中停留的时间(以秒为单位)。
可以使用 DMV 获取有关数据库页 sys.dm_os_buffer_descriptors
缓冲池的详细信息。 但请谨慎使用此 DMV,因为它可以长时间运行,如果允许基于 SQL Server 的服务器拥有大量 RAM,则可以生成巨大的输出。
计划缓存
本部分讨论以前称为过程缓存的计划缓存。
Procedure Cache Value
----------------------- -----------
TotalProcs 4
TotalPages 25
InUsePages 0
以下列表讨论输出中的值及其说明:
TotalProcs:此值显示过程缓存中当前缓存的对象总数。 此值与 DMV 中的
sys.dm_exec_cached_plans
条目数匹配。注意
由于此信息的动态性质,匹配可能并不精确。 可以使用 PerfMon 监视 SQL Server:计划缓存对象和
sys.dm_exec_cached_plans
DMV,以获取有关缓存对象类型的详细信息,例如触发器、过程和即席对象。TotalPages:显示用于在计划或过程缓存中存储所有缓存对象的累积页。 可以将此数字乘以 8 KB,以获取以 KB 表示的值。
InUsePages:显示属于当前处于活动状态的过程的过程缓存中的页面。 无法丢弃这些页面。
全局内存对象
本部分包含有关各种全局内存对象及其使用的内存量的信息。
Global Memory Objects Buffers
---------------------------------- ----------------
Resource 576
Locks 96
XDES 61
DirtyPageTracking 52
SETLS 8
SubpDesc Allocators 8
SE SchemaManager 139
SE Column Metadata Cache 159
SE Column Metadata Cache Store 2
SE Column Store Metadata Cache 8
SQLCache 224
Replication 2
ServerGlobal 1509
XP Global 2
SortTables 3
以下列表讨论输出中的值及其说明:
- 资源:显示 Resource 对象使用的内存。 存储引擎将它用于各种服务器范围结构。
- 锁:显示锁管理器使用的内存。
- XDES:显示事务管理器使用的内存。
- SETLS:显示用于分配特定于存储引擎的每个线程结构的内存,该结构使用线程本地存储(TLS)。 有关详细信息,请参阅 线程本地存储。
- SubpDesc 分配器:显示用于管理并行查询、备份操作、还原操作、数据库操作、文件操作、镜像和异步游标的子进程所用的内存。 这些子进程也称为“并行进程”。
- SE SchemaManager:显示架构管理器用于存储存储特定于存储引擎的元数据的内存。
- SQLCache:显示用于保存临时语句和已准备语句文本的内存。
- 复制:显示服务器用于内部复制子系统的内存。
- ServerGlobal:显示多个子系统通用使用的全局服务器内存对象。
- XP Global:显示扩展存储过程使用的内存。
- SortTable:显示排序表使用的内存。
查询内存对象
本部分介绍查询内存授予信息。 它还包括查询内存使用情况的快照。 查询内存也称为“工作区内存”。
Query Memory Objects (default) Value
---------------------------------------- -------
Grants 0
Waiting 0
Available 436307
Current Max 436307
Future Max 436307
Physical Max 436307
Next Request 0
Waiting For 0
Cost 0
Timeout 0
Wait Time 0
如果查询的大小和成本满足“小型”查询内存阈值,则查询将放入小型查询队列中。 此行为可防止较小的查询延迟到队列中已有的大型查询后面。
以下列表讨论输出中的值及其说明:
- 授予:显示具有内存授予的正在运行的查询数。
- 正在等待:显示等待获取内存授予的查询数。
- 可用:显示可用于查询以用作哈希工作区和排序工作区的缓冲区。 该值
Available
会定期更新。 - 下一个请求:显示下一个等待查询的内存请求大小(以缓冲区为单位)。
- 正在等待:显示必须可用于运行下一个请求值引用的查询的内存量。 等待值是
Next Request
值乘以会议室因子。 此值有效地保证运行下一个等待查询时,特定内存量将可用。 - 成本:显示下一个等待查询的成本。
- 超时:显示下一个等待查询的超时时间(以秒为单位)。
- 等待时间:显示已用时间(以毫秒为单位),因为下一个等待查询已放入队列中。
- 当前最大值:显示查询执行的总体内存限制。 此值是大型查询队列和小型查询队列的组合限制。
有关内存授予是什么、这些值的含义以及如何排查内存授予问题的详细信息,请参阅 排查 SQL Server 中内存授予导致的性能缓慢或内存不足问题。
优化内存
查询提交到服务器进行编译。 编译过程包括分析、代数化和优化。 根据每个查询在编译过程中使用的内存对查询进行分类。
注意
此量不包括运行查询所需的内存。
查询启动时,可以编译多少个查询没有限制。 随着内存消耗的增加并达到阈值,查询必须传递网关才能继续。 每个网关后,同时编译的查询限制逐渐减少。 每个网关的大小取决于平台和负载。 选择网关大小以最大程度地提高可伸缩性和吞吐量。
如果查询无法传递网关,它将等待内存可用或返回超时错误(错误 8628)。 此外,如果取消查询或检测到死锁,查询可能不会获取网关。 如果查询通过多个网关,则在编译过程完成之前,它不会释放较小的网关。
此行为仅允许同时进行少量内存密集型编译。 此外,此行为可最大程度地提高较小查询的吞吐量。
下表提供了由于内存不足而无法进行查询优化而发生的内存等待的详细信息。 内部内存用于系统查询使用的优化器内存,而默认报告用户或应用程序查询的优化内存。
Optimization Queue (internal) Value
---------------------------------- ----------------
Overall Memory 4013162496
Target Memory 3673882624
Last Notification 1
Timeout 6
Early Termination Factor 5
Small Gateway (internal) Value
---------------------------------- ----------------
Configured Units 32
Available Units 32
Acquires 0
Waiters 0
Threshold Factor 380000
Threshold 380000
Medium Gateway (internal) Value
---------------------------------- ----------------
Configured Units 8
Available Units 8
Acquires 0
Waiters 0
Threshold Factor 12
Threshold -1
Big Gateway (internal) Value
---------------------------------- ----------------
Configured Units 1
Available Units 1
Acquires 0
Waiters 0
Threshold Factor 8
Threshold -1
Optimization Queue (default) Value
---------------------------------- ----------------
Overall Memory 4013162496
Target Memory 3542319104
Last Notification 1
Timeout 6
Early Termination Factor 5
Small Gateway (default) Value
---------------------------------- ----------------
Configured Units 32
Available Units 32
Acquires 0
Waiters 0
Threshold Factor 380000
Threshold 380000
Medium Gateway (default) Value
---------------------------------- ----------------
Configured Units 8
Available Units 8
Acquires 0
Waiters 2
Threshold Factor 12
Threshold -1
Big Gateway (default) Value
---------------------------------- ----------------
Configured Units 1
Available Units 1
Acquires 0
Waiters 0
Threshold Factor 8
Threshold -1
下面是其中一些值的说明:
- 配置的单位 - 指示可以使用网关编译内存的并发查询数。 在此示例中,32 个并发查询可以使用来自小型网关(默认值)的内存、来自中型网关的 8 个并发查询,以及来自 Big 网关的一个查询。 如前所述,如果查询需要的内存多于小型网关可以分配的内存,它将转到中型网关,并且该查询将计入这两个网关中的单元。 查询所需的编译内存量越大,网关中配置的单位就越少。
- 可用单位 - 指示可从配置的单位列表中编译的并发查询可用的槽数或单位数。 例如,如果 32 个单元可用,但当前使用编译内存的三个查询,则
Available Units
为 32 减 3 或 29 个单位。 - 获取 - 指示要编译的查询获取的单位数或槽数。 如果三个查询当前使用来自网关的内存,则 Acquires = 3。
- 服务员 - 指示在网关中等待编译内存的查询数。 如果网关中的所有单元都用尽,则 Waiters 值为非零,显示等待查询计数。
- 阈值 - 指示网关内存限制,用于确定查询从何处获取其内存,或确定查询所在的网关。 如果查询需要的阈值不超过阈值,它将保留在小型网关中(查询始终以小网关开头)。 如果它需要更多的内存进行编译,它将转到中等内存,如果该阈值仍然不足,则会转到大型网关。 对于小型网关,阈值因子为 380,000 字节(未来版本可能会更改)x64 平台。
- 阈值因子:确定每个网关的阈值。 对于小型网关,由于阈值是预定义的,因此因子也设置为相同的值。 中大型网关的阈值因素是总优化器内存(优化队列中的总内存)的分数,分别设置为 12 和 8。 因此,如果由于其他 SQL Server 内存使用者需要内存而调整总体内存,阈值因素也会导致阈值动态调整。
- 超时:指示以分钟为单位的值,该值定义查询等待优化器内存的时间。 如果达到此超时值,会话将停止等待并引发错误 8628 -
A time out occurred while waiting to optimize the query. Rerun the query.
内存中转站
本部分提供有关控制缓存内存、被盗内存和保留内存的内存代理的信息。 只能将这些表中的信息用于内部诊断。 因此,此信息并不详细。
MEMORYBROKER_FOR_CACHE (internal) Value
--------------------------------------- -------------
Allocations 20040
Rate 0
Target Allocations 3477904
Future Allocations 0
Overall 3919104
Last Notification 1
MEMORYBROKER_FOR_STEAL (internal) Value
--------------------------------------- -------------
Allocations 129872
Rate 40
Target Allocations 3587776
Future Allocations 0
Overall 3919104
Last Notification 1
MEMORYBROKER_FOR_RESERVE (internal) Value
--------------------------------------- -------------
Allocations 0
Rate 0
Target Allocations 3457864
Future Allocations 0
Overall 3919104
Last Notification 1
MEMORYBROKER_FOR_CACHE (default) Value
--------------------------------------- -------------
Allocations 44592
Rate 8552
Target Allocations 3511008
Future Allocations 0
Overall 3919104
Last Notification 1
MEMORYBROKER_FOR_STEAL (default) Value
--------------------------------------- -------------
Allocations 1432
Rate -520
Target Allocations 3459296
Future Allocations 0
Overall 3919104
Last Notification 1
MEMORYBROKER_FOR_RESERVE (default) Value
--------------------------------------- -------------
Allocations 0
Rate 0
Target Allocations 3919104
Future Allocations 872608
Overall 3919104
Last Notification 1