SQL Server - 例如,如何确定理想的内存?

Sam*_*ant 8 sql-server memory

我们有一些虚拟机分配了 X 内存。这个内存量有点随机。它被分配给机器,因为这是物理机器拥有的内存量,因为供应商的建议,或者因为我们对我们认为实例需要多少内存做出了最佳猜测。

我理解内存越多越好,但我也想避免在不需要时向 VM 过度分配内存。另一台机器可以更好地利用内存。

确定每个实际处于活动状态和正在使用的实例的理想内存量的最佳方法是什么?除了页面预期寿命之外,我们还应该查看其他计数器吗?我们有实例的 PLE 为 10k+,而其他实例的 PLE 为 100k+。

任何见解都非常感谢。谢谢,山姆

Kin*_*hah 7

Glenn 在他的文章中概述了一个好的起点:SQL Server 2005/2008 的建议最大内存设置

最好是在您的整个业务周期内为您的数据库服务器使用情况设定基准,因为这将根据您的工作负载使用以下 PERFMON 计数器为您提供最佳数量:

  • SQL Server:缓冲区管理器\页面预期寿命
  • SQL Server:缓冲区管理器\页面读取数/秒
  • 物理磁盘\磁盘读取数/秒
  • 内存\可用兆字节
  • SQL Server:内存管理器 - 服务器总内存
  • SQL Server:内存管理器 - 目标服务器内存

注意:如果您打算使用任何公式或在线计算器来计算 SQL Server 内存配置,那么最好阅读Beaware of Wow…一个在线计算器来错误配置您的 SQL Server 内存!-首先由乔纳森·凯哈亚斯 (Jonathan Kehayias) 撰写

对于 Page Life Expectancy,请参阅Page Life Expectancy is not what you think... by Paul Randall。

一个很好的参考:

我的 SQL Server 实际需要多少内存?- 乔纳森·凯哈亚斯