我们正在一个虚拟服务器上测试Server 2012的新安装,分配给server的内存似乎被限制在16 GB左右,尽管还有更多可用的。是什么导致的?
我尝试过增加SQL最小服务器内存设置,但更改没有任何效果。下面我列出了一些服务器详细信息。
SQL Server 2012 Enterprise
Windows Server 2008 R2 Enterprise x64
29.93 GHz (8 processors)
77 GB RAM
Min Server Memory: 48 GB
Max Server Memory: 56 GB
Database size: 44 GBPerfMon信息:
Working Set: ~17 GB
Page life expectency: ~7,500
Target Server Memory: ~73 GB
Total Server Memory: ~15.7 GB发布于 2013-04-29 14:19:36
Server不能保证分配最小服务器内存。如果服务器上的负载永远不需要,那么最小的SQL server将用于低BOL http://msdn.microsoft.com/en-us/library/ms178067.aspx。
只要您的配置允许使用您已分配的所有内存(它们确实如此),Server就会使用它所需要的,而且通常不再使用。因为您正在运行VM,所以我将确保为操作系统分配10%,删除可能导致性能问题的最小值并让它运行。如果您的CPU固定在100%,查询速度很慢,而且Server没有分配其所有可用内存,那么就需要进一步排除故障。
发布于 2013-04-29 14:32:45
在使用VM时,还要检查的另一件事是:确保Hypervisor (例如,VMware ESX)允许VM实际从主机获取该数量的内存。
通常情况下,默认情况不是这样,为了防止虚拟操作系统将所有VM内存用于自己的缓冲区缓存,就会出现“内存膨胀”之类的情况。
虽然这对于应用程序服务器来说通常是可以的,但在虚拟数据库服务器上确实会受到伤害,因为它们认为它们可以分配比hypervisor实际允许的更多的内存.
https://dba.stackexchange.com/questions/41053
复制相似问题