首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >超过SQL最大内存限制

超过SQL最大内存限制
EN

Database Administration用户
提问于 2017-10-11 07:22:58
回答 2查看 2.9K关注 0票数 1

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为什么超过最大内存限制?我该怎么解决呢?

EN

回答 2

Database Administration用户

回答已采纳

发布于 2017-10-11 08:46:16

你的链接应该显示什么吗?目前都不起作用。

TT是对的,该设置仅适用于缓冲区池和一些内存管理员。见文档。还有其他使用内存的领域,甚至还有Server包的服务部分。

max服务器内存控制server内存分配,包括缓冲池、编译内存、所有缓存、qe内存授予、锁管理器内存和clr内存(基本上是sys.dm_os_memory_clerks中的任何内存办事员)。用于线程堆栈、内存堆、Server以外的链接服务器提供程序以及由非server分配的任何内存的内存不受最大服务器内存的控制。

建议:您很可能为SQL分配了太多的内存。拨下来-建议降低到40 GB,让操作系统也呼吸。如果你有任何记忆压力的迹象,那么你可能需要转动旋钮来获得更多的记忆。

如果您没有任何问题或内存压力标志,那么SQL Server正在做它的工作。

关于这一主题的条款:

稍后编辑,在您的回复

之后

你得先弄清楚问题出在哪里。是不是报告本身没有可用的内存?您的应用程序/查询真的因为内存不足而受到影响吗?这仅仅是一次训练吗?

您使用数据库设置可能只会导致缓冲池被刷新,现在报告看起来很酷,但是应用程序可能会受到影响。

通过运行以下命令查看服务器内存中的内容:

在您了解了服务器的内存是如何填充之后,只有这样,您才会知道它是在哪里使用的,如果您有问题的话。

票数 4
EN

Database Administration用户

发布于 2017-10-11 07:58:45

因为最大内存限制并不意味着这是Server使用的最大内存。

它限制了某些内存的使用--有些其他缓冲区不被计算在此限制之内。

票数 2
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/188176

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档