我有一个正在运行 sql server 的开发虚拟机以及我的堆栈的一些其他应用程序,我发现其他应用程序的性能非常糟糕。经过一番挖掘后,SQL Server 占用了内存。经过快速的网络搜索后,我发现默认情况下,它会消耗尽可能多的内存来缓存数据并根据其他应用程序的请求将其返回给系统,但显然这个过程通常发生得不够快我的情况是一个常见问题。
然而,有一种方法可以限制 SQL Server 允许拥有的内存 http://blog.stevehorn.cc/2007/10/limit-memory-usage-in-sql-server-2005.html。我的问题是,我应该如何设置这个限制。显然我需要做一些猜测和检查,但是是否有绝对的最低阈值?如有任何建议,我们将不胜感激。
Edit:
我会注意到,我们的开发人员机器有 2 GB 内存,因此如果可能的话,我希望能够在 768 MB 或更少的内存上运行虚拟机。该虚拟机将仅用于本地开发和测试,因此负载将非常小。代码在本地经过测试后,会转到 SQL Server 专用的另一个环境。我真正在这里寻找的是关于最低限度的建议
摘自 SQL Server 文档:
最大服务器内存(以 MB 为单位)
指定最大内存量
SQL Server可以在启动时分配
当它运行时。这个配置
选项可以设置为特定值
如果你知道有多个
同时运行的应用程序
作为 SQL Server 并且您想要
保证这些应用程序具有
足够的内存来运行。如果这些
其他应用程序,例如 Web 或
电子邮件服务器,仅请求内存
需要的话,不要设置该选项,
因为SQL Server会释放内存
根据需要向他们提供。然而,
应用程序经常使用任何内存
当他们开始并执行时可用
如果需要,不要要求更多。如果
在此行为的应用程序
方式在同一台计算机上运行
与 SQL Server 同时设置
选项的值保证
应用程序所需的内存
不是由 SQL Server 分配的。
最低建议是:没有这样的事情。内存越多越好。 SQL Sever 需要尽可能多的内存,否则会浪费你的 IO。
停止 SQL Server。运行其他应用程序并记下它们所需的内存量。从可用 RAM 总量中减去该值,然后使用该数字作为 SQL Server 中的 MAX 内存设置。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)