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 权限。