相关疑难解决方法(0)

SQL Server 2012 缓冲池外的内存消耗

我有一个 SQL Server 2012 SP2 企业版的实例,它消耗的内存比最大值高约 20GB。内存限制。实例限制为 65GB,但以下查询中使用的物理内存显示为 86GB

SELECT (physical_memory_in_use_kb/1024)/1024 AS [PhysicalMemInUseGB]
FROM sys.dm_os_process_memory;
GO
Run Code Online (Sandbox Code Playgroud)

服务器是具有 2 个 NUMA 节点的物理服务器。有没有一种方法可以找出正在消耗缓冲池之外的内存的东西(我假设这就是正在发生的事情)?

这是 DBCC MEMORYSTATUS 的输出:-

DBCC MEMORYSTATUS 的输出

这是设置的内存限制:-

内存限制的屏幕截图

提前致谢。

更新:-我已经运行了 Aaron 建议的查询

SELECT TOP (20) * FROM sys.dm_os_memory_clerks ORDER BY pages_kb DESC
Run Code Online (Sandbox Code Playgroud)

这是输出:-

内存职员输出

pages_kb 的总和达到 ~60GB

更新 2:- DBCC MEMORYSTATUS 的完整输出在这里:- http://pastebin.com/nGn6kXEc

更新 3:- 此处在 excel 文件中输出 Shanky 的脚本:- http://jmp.sh/LKRlH4K

更新 4:- 输出的屏幕截图:-

SELECT (physical_memory_in_use_kb/1024)/1024 AS [PhysicalMemInUseGB]
FROM sys.dm_os_process_memory;
GO
Run Code Online (Sandbox Code Playgroud)

PhysMemInUse 截图

所以这似乎表明 SQL Server 正在使用超过 65GB 的设置。

sql-server memory sql-server-2012

10
推荐指数
1
解决办法
2万
查看次数

标签 统计

memory ×1

sql-server ×1

sql-server-2012 ×1