首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >数据库机器的内存消耗

问数据库机器的内存消耗
EN

Database Administration用户
提问于 2017-07-27 06:12:06
回答 3查看 682关注 0票数 2

我的数据库服务器占用了71% - 75%的内存,我从perfMonitor日志中可以看出,SQL_Service消耗了65% - 69%的内存。

为了降低内存消耗,我们执行了不同的操作,例如:

  • 我们清除了大部分数据库,以降低磁盘上的大小。
  • 我们用Server重新启动处于活动状态的不同应用程序服务。

服务器RAM内存总计为65 GB。

期待专家的意见。如何降低内存消耗?

EN

回答 3

Database Administration用户

回答已采纳

发布于 2017-07-27 07:12:24

似乎您正在运行server和一个服务器上的应用程序。

SQL Server将通过设计来消耗它所能使用的所有内存。( Server中的默认最大内存设置为2147483647 MB。)

如果将默认的MAX内存设置更改为其他设置,则Server将在重新启动数据缓存、查询计划缓存和其他Server相关组件后开始使用内存。

在某个时候,Server将通过最小内存设置。Server将不会将内存释放回通过此设置的操作系统。

稍后,Server实例可能会达到MAX内存设置。对于数据缓存和计划缓存,Server不会传递这一行。但是,Server进程可以使用比MAX内存服务器设置更多的功能,因为某些对象在MAX内存设置之外运行(取决于版本),而server可能会过多提交内存。这将在下面的文章中讨论。

服务器2012及更高版本中的内存配置和大小调整注意事项

您的Server现在将在MIN和MAX内存设置之间使用内存,直到重新启动Server实例为止。

注意:减少正在运行的Server实例的最大内存设置将清除内存中的数据缓存,并导致性能下降。

如果您的Server实例正在应用程序服务器上运行,而不是单独运行,则可能必须减少server的最大内存设置,以允许应用程序共享某些内存。

如果您的Server实例是独立运行的,那么请根据以下建议尝试配置MAX内存设置:

...reserve 1GB的内存为操作系统,1GB为每4GB的RAM安装从4-16 GB,然后1 GB为每8GB的RAM安装在16 GB以上的RAM .

参考资料:我的Server实际需要多少内存? (SQLSkills.com)

还有其他一些很好的文章解释了Server如何使用RAM。

票数 3
EN

Database Administration用户

发布于 2017-07-27 07:12:02

调整你的想法。

SQL Server尽可能地缓存--因为RAM比磁盘更快。除非Server使用太多的内存(而且您可以给出一个上限)--为什么要抱怨内存用作缓存呢?你宁愿不使用内存吗?那为什么要买呢?您只需购买32 by内存就可以节省开支--然后Server将不会使用更多内存。你会更开心吗?对共享服务器设置限制基本上是有意义的--与其他服务共享,多个实例,诸如此类的东西。在专用服务器上,您希望server使用尽可能多的内存。

所以,问题是:你一开始就没有问题。您可以想象一种情况,而实际上,Server的工作方式是按预期进行的。

票数 2
EN

Database Administration用户

发布于 2017-07-27 07:38:26

数据库是任何应用程序的重要组成部分,并且是活动的--所有的time.This都是数据库通常托管在专用服务器中的原因,在这些服务器中,其他任何东西都不会妨碍数据库的资源利用。

现在来问您的问题,根本没有问题,Server正在按预期工作。SQL Server足够聪明,并且缓存尽可能多,以使操作更快。

有一个名为MAX内存设置的设置,可以设置为希望Server不再使用任何进一步RAM的值。这是在保留OS进程的内存使用情况后完成的。

例如:在16 GB服务器中,我们估计了Server缓冲池,并将最大内存设置为10 GB。现在,Server内存的使用永远不会超过这一点,而OS使用的是剩余的6GB。

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

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

复制
相关文章

相似问题

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