sys.dm_os_process_memory

大多数因 SQL Server 进程空间导致的内存分配都是通过可跟踪和核算这些分配的接口控制的。但是,内存分配可能会绕过内部内存管理例程在 SQL Server 地址空间中进行。值是通过调用基本操作系统获取的。它们不是由 SQL Server 内部的方法处理的,但在它针对锁定分配或大型页分配进行调整时除外。

所有指示内存大小的返回值均以千字节 (KB) 表示。total_virtual_address_space_reserved_kb 列与 virtual_memory_in_bytes from sys.dm_os_sys_info 重复。

下表对进程地址空间作了完整的说明。

列名

数据类型

说明

physical_memory_in_use

bigint

以 KB 表示的进程工作集(由操作系统报告),加上使用大型页和 AWE API 完成的跟踪分配。

large_page_allocations_kb

bigint

通过使用大型页 API 分配的物理内存。

locked_page_allocations_kb

bigint

通过使用 AWE API 分配的物理内存。

total_virtual_address_space_kb

bigint

虚拟地址空间的用户模式部分的总大小。

virtual_address_space_reserved_kb

bigint

既不是提交的物理页也不是映射的物理页的虚拟地址保留数。

virtual_address_space_committed_kb

bigint

已提交或映射到物理页的虚拟地址数量。

virtual_address_space_available_kb

bigint

当前可用的虚拟地址空间量。

page_fault_count

bigint

由 SQL Server 进程引发的页错误数。

memory_utilization_percentage

int

工作集中的已提交内存所占的百分比。

available_commit_limit_kb

bigint

可供进程提交的内存量。

process_physical_memory_low

bit

进程正在响应物理内存不足的通知。

process_virtual_memory_low

bit

检测到虚拟内存不足的情况。

权限

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