sys.dm_os_process_memory (Transact-SQL)
大多数因 SQL Server 进程空间导致的内存分配都是通过可跟踪和核算这些分配的接口控制的。 但是,内存分配可能会绕过内部内存管理例程在 SQL Server 地址空间中进行。 值是通过调用基本操作系统获取的。 它们不是由 SQL Server 内部的方法处理的,但在它针对锁定分配或大型页分配进行调整时除外。
所有指示内存大小的返回值均以千字节 (KB) 表示。 total_virtual_address_space_reserved_kb 列与 sys.dm_os_sys_info 中的 virtual_memory_in_bytes 重复。
下表对进程地址空间作了完整的说明。
适用范围:SQL Server(SQL Server 2008 到当前版本)。 |
列名 |
数据类型 |
说明 |
---|---|---|
physical_memory_in_use_kb |
bigint |
指示以 KB 表示的进程工作集(由操作系统报告),以及使用大型页 API 完成的跟踪分配。 不可为 Null。 |
large_page_allocations_kb |
bigint |
指定通过使用大型页 API 分配的物理内存。 不可为 Null。 |
locked_page_allocations_kb |
bigint |
指定内存中锁定的内存页面。 不可为 Null。 |
total_virtual_address_space_kb |
bigint |
指示虚拟地址空间的用户模式部分的总大小。 不可为 Null。 |
virtual_address_space_reserved_kb |
bigint |
指示进程保留的虚拟地址空间的总量。 不可为 Null。 |
virtual_address_space_committed_kb |
bigint |
指示已提交或已映射到物理页的已保留虚拟地址空间量。 不可为 Null。 |
virtual_address_space_available_kb |
bigint |
指示当前可用的虚拟地址空间量。 不可为 Null。 备注 小于分配粒度小的可用区域可以存在。这些区域不可进行分配。 |
page_fault_count |
bigint |
指示由 SQL Server 进程引发的页错误数。 不可为 Null。 |
memory_utilization_percentage |
int |
指定工作集中的已提交内存所占的百分比。 不可为 Null。 |
available_commit_limit_kb |
bigint |
指示可供进程提交的内存量。 不可为 Null。 |
process_physical_memory_low |
bit |
指示进程正在响应物理内存不足的通知。 不可为 Null。 |
process_virtual_memory_low |
bit |
指示检测到虚拟内存不足的情况。 不可为 Null。 |
权限
要求对服务器拥有 VIEW SERVER STATE 权限。