SQL服务器内存使用情况

SQL服务器内存使用情况

我们的 8GB 内存的 SQL Server 似乎超时了。我得到的建议是添加更多内存。问题是添加多少?一个人说 SQL Server 将使用所有可用内存“无论你放了多少”(如果有坏的 sp 运行失控...)。

是否有一个自动报告可以运行,当内存使用量达到 80% 时通知我?我们需要第三方程序来监控内存使用情况吗?

答案1

SQL 将尝试使用其所能获得的所有物理内存,以便将所有可能的数据加载到内存中并限制磁盘 I/O。您可能考虑(如果尚未考虑)在 SQL Server 中设置最大内存选项。我通常将其设置为比总物理内存少 2-3 GB(在专用于 SQL Server 的机器上)。这样,操作系统将有几 GB 的内存可供使用,而 SQL 不会动用这些内存。如果您在服务器上运行其他服务,则需要根据其需求进行调整。

关于报告,有大量的监控解决方案可用,因此您可以观察并在内存消耗增加时收到警报。

答案2

提供 SQL 服务器的规模建议很难。 你应该使用性能监视器检查 SQL 服务器计数器是否存在可能存在的瓶颈。

在讨论大小问题时,同样重要的是:根据使用的 SQL Server 的版本和版本,存在一个编程硬内存限制。它可能从 1 GB(Express 版本)到 OS 最大值(64 位数据中心版本)不等。请参阅版本对比图请参阅相应版本以了解详细信息。

答案3

您没有说明您正在运行的 SQL Server 的版本,但是诸如“添加更多内存”之类的建议如果没有附带数据来支持该警告,那就是坏建议。如果您正在运行 SQL Server 2005,也许这会有所帮助:

http://technet.microsoft.com/en-us/library/cc966540.aspx

相关内容