SQL Server Memory Manager 对象

Microsoft SQL Server 中的 Memory Manager 对象提供了监视总体的服务器内存使用情况的计数器。监视总体的服务器内存使用情况,以估计用户活动和资源使用,有助于查明性能瓶颈。监视 SQL Server 的实例使用的内存有助于确定:

  • 瓶颈的存在是否是因为物理内存不足以存储缓存中被频繁访问的数据。如果内存不足,SQL Server 必须从磁盘检索数据。

  • 是否可以通过添加更多内存或使更多内存可用于数据缓存或 SQL Server 内部结构来改善查询性能。

下表说明 SQL ServerMemory Manager 计数器。

SQL Server Memory Manager 计数器

说明

Connection Memory (KB)

服务器正在用来维护连接的动态内存总量。

Granted Workspace Memory (KB)

当前给予执行哈希、排序、大容量复制和索引创建操作等进程的内存总量。

Lock Blocks

服务器正在使用的锁块的当前数目(定期进行刷新)。一个锁块代表一个单独的锁定资源,如表、页或行。

Lock Blocks Allocated

当前分配的锁块数。服务器启动时,分配的锁块数加上分配的锁拥有者块数依赖于 SQL ServerLocks 配置选项。若需要更多的锁块,此值会增加。

Lock Memory (KB)

服务器用于锁的动态内存总量。

Lock Owner Blocks

当前正在服务器上使用的锁拥有者块的数目(定期进行刷新)。一个锁拥有者块代表一个独立线程对某一对象上的一个锁的拥有权。因此,若三个线程在一个页上各有一个共享 (S) 锁,就会有三个锁拥有者块。

Lock Owner Blocks Allocated

分配的锁拥有者块的当前块数。服务器启动时,分配的锁拥有者块数和分配的锁块数依赖于 SQL ServerLocks 配置选项。若需要更多的锁拥有者块,此数值会动态增加。

Maximum Workspace Memory (KB)

用于执行哈希、排序、大容量复制和索引创建操作等进程的最大可用内存数。

Memory Grants Outstanding

成功获得工作空间内存授权的进程总数。

Memory Grants Pending

等待工作空间内存授权的进程总数。

Optimizer Memory (KB)

服务器正在用于查询优化的动态内存总数。

SQL Cache Memory (KB)

服务器正在用于动态 SQL 高速缓存的动态内存总数。

Target Server Memory (KB)

服务器能够使用的动态内存总量。

Total Server Memory (KB)

从缓冲池提交的内存 (KB)。

注意注意
这不是 SQL Server 使用的总内存。