SQL Server 使用的总内存(64 位)

SQL*_*ner 5 sql-server-2008 sql-server sql-server-2008-r2 sql-server-2012

我对这个主题的了解表明 perf counter SQL Server:Memory Manager: Total Server Memory 只给你缓冲池内存。在名为 sys.dm_os_process_memor 的 DMV 中有一个名为 physical_memory_in_use 的列,它为您提供物理工作集。

但我不确定...

是否有 DMV 或性能计数器可以告诉我在 64 位 Windows 操作系统上运行的 64 位 SQL Server 2008 R2 和 SQL 2012 的 SQL Server 进程使用的总物理内存(缓冲池 + 非缓冲池,即 MemToLeave)?

SQL*_*ner 0

我遇到了 Joe Sack 建议的这个解决方案(现在是 SQLSkills)

在“Private Bytes”中查找非缓冲池内存(MemToLeave)

在我看来(刚刚测试过,似乎是正确的),在 64 位 Process: sqlservr: Private Bytes"上 ,考虑到未启用内存中的锁定页面,可以为您提供 SQL Server 使用的总内存(缓冲池 + 非缓冲池)。

如果启用了内存中的锁定页,则专用字节将为您提供 SQL Server 进程使用的非缓冲池内存总量。