我的SQL需要多less内存?

我有一个虚拟机(SQL数据库服务器),我认为有更多的内存,然后它需要,但我不知道我可以减less,因为我不明白什么“使用中”,“可用”,“承诺“和”caching“的记忆的意思。

以下是我做了一些负载testing后的任务pipe理器的屏幕截图。 我们假设负载不会比这更强烈。

  • 我应该使用默认的SQL Server 2012帐户还是特定的帐户?
  • SQL Server 2012 Express版本的限制?
  • SQL Server快速服务未启动
  • SQL Server 2012的目标目录显示为灰色
  • SQL Server 2012会安装并运行Windows 2003
  • 如何更改新数据库的默认恢复?
  • 在这里输入图像说明

    对我来说,64GB内存似乎太多了。 我想了解我能在不降低performance的情况下拿走多less。

    这是否意味着我只需要8GB,因为这比“正在使用”更多呢? 或者当我确定需要多less时,是否需要包含“caching”的数量?

  • AlwaysOn SQL Server 2012 - 任何真正的主动/主动选项?
  • SQL Server 2012会安装并运行Windows 2003
  • 如何解释Linux的“顶部”命令的输出?
  • 如何更改新数据库的默认恢复?
  • SQL Serverdebugging:“无法步。 无效操作“
  • 有什么办法可以自动防止内存不足?
  • 2 Solutions collect form web for “我的SQL需要多less内存?”

    SQL Server将保留它分配的RAM,因为它似乎没有超过6-7 GB,我将分配8GB的SQL,并保留2-4 GB额外的操作系统在这种情况下(SQL总是做一些为sqlserver.exe分配的内存之外的任务。

    将这个值(8 GB)放在sql server实例的最小内存设置中是个好主意。 这样,当SQL需要内存时,它不会首先分配时间,因为启动时需要8GB。

    当玩RAM时,你可以随时检查页面预期寿命。 这将告诉你在RAM中保留多久。 这是一个数秒内的价值,只要它不断上升,你就是金。

     SELECT object_name, counter_name, cntr_value FROM sys.dm_os_performance_counters WHERE [object_name] LIKE '%Buffer Manager%' AND [counter_name] = 'Page life expectancy' 

    只要它保持在300以上,你就可以。 较低的值将指示一些内存压力。 在进行大量sorting,更新/重build索引之后,可能会发生这种情况……重新启动实例后,如果此值较低,请不要惊慌失措,因为运行SQL的时间永远不会更长。

    第二个有趣的计数器是缓冲区高速caching命中率,这将告诉你有多less以前的请求(最后几秒)从内存中获取。

     SELECT CAST(A.cntr_value1 AS NUMERIC) / CAST(B.cntr_value2 AS NUMERIC)* 100 AS Buffer_Cache_Hit_Ratio_Percentage, A.cntr_value1 As Cache_Hits, B.cntr_value2 AS Cache_Lookups FROM ( SELECT cntr_value AS cntr_value1 FROM sys.dm_os_performance_counters WHERE object_name = 'MSSQL$SQL01:Buffer Manager' AND counter_name = 'Buffer cache hit ratio' ) AS A, (SELECT cntr_value AS cntr_value2 FROM sys.dm_os_performance_counters WHERE object_name = 'MSSQL$SQL01:Buffer Manager' AND counter_name = 'Buffer cache hit ratio base' ) AS B; 

    在这个例子中,我的SQL实例是一个命名实例SQL01 ,因此将其更改为实例名称,或者如果您有默认实例,则将MSSQL$SQL01:Buffer Manager更改为MSSQLServer:Buffer Manager

    越高越好。 在理想的情况下,你会在这里得到100%,这意味着整个DB在内存中。

    在下面的链接伟大的定义。 一种策略是猜测第一个答案,然后关注页面错误。 随着页面错误的增加以及可用内存的减less,您需要增加虚拟机可用的内存量。 VMware还应该允许您设置虚拟机是否限于指定的内存量,或者是否允许虚拟机超过该限制进入共享资源池。

    http://blogs.technet.com/b/askperf/archive/2008/01/25/an-overview-of-troubleshooting-memory-issues.aspx

    服务器问题集锦,包括 Linux(Ubuntu, Centos,Debian等)和Windows Server服务器.