2016 (SP1) (KB3182545)服务器内存:61 MB最大内存: 56320 MB

我的生产环境中有三个数据库(OneDB、TwoDB、ThreeDB)。
我在sp_BlitzCache上运行OneDB
可用内存%7-8
我为FirstResponderKit、sp_WhoIsActive等dba工具创建'Blitz‘db。
我在Blitz数据库上运行sp_BlitzCache
可用内存%0
两个数据库之间的差异:

Server为什么超过最大内存限制?我该怎么解决呢?
发布于 2017-10-11 08:46:16
你的链接应该显示什么吗?目前都不起作用。
TT是对的,该设置仅适用于缓冲区池和一些内存管理员。见文档。还有其他使用内存的领域,甚至还有Server包的服务部分。
max服务器内存控制server内存分配,包括缓冲池、编译内存、所有缓存、qe内存授予、锁管理器内存和clr内存(基本上是sys.dm_os_memory_clerks中的任何内存办事员)。用于线程堆栈、内存堆、Server以外的链接服务器提供程序以及由非server分配的任何内存的内存不受最大服务器内存的控制。
建议:您很可能为SQL分配了太多的内存。拨下来-建议降低到40 GB,让操作系统也呼吸。如果你有任何记忆压力的迹象,那么你可能需要转动旋钮来获得更多的记忆。
如果您没有任何问题或内存压力标志,那么SQL Server正在做它的工作。
关于这一主题的条款:
之后
你得先弄清楚问题出在哪里。是不是报告本身没有可用的内存?您的应用程序/查询真的因为内存不足而受到影响吗?这仅仅是一次训练吗?
您使用数据库设置可能只会导致缓冲池被刷新,现在报告看起来很酷,但是应用程序可能会受到影响。
通过运行以下命令查看服务器内存中的内容:
在您了解了服务器的内存是如何填充之后,只有这样,您才会知道它是在哪里使用的,如果您有问题的话。
发布于 2017-10-11 07:58:45
因为最大内存限制并不意味着这是Server使用的最大内存。
它限制了某些内存的使用--有些其他缓冲区不被计算在此限制之内。
https://dba.stackexchange.com/questions/188176
复制相似问题