服务器重启没多久,SQL Server过程就把服务器的物理内存几乎全占了,正常吗
服务器重启没多久,SQL Server进程就把服务器的物理内存几乎全占了,正常吗?
服务器: IBM 3650
OS: WIN 2008 Server
物理内存32G
SQL SERVER 2008
发现服务器刚启动没多久,SQL Server一个进程就占了近32G的内存,然后一直保持不变。CPU倒是在1%至30%之间波动。
这样正常吗?

------解决方案--------------------
建议:
1.检查SQL2008 SP2补丁是否有安装.
2.检查前端程序代码中,是否有未释放的对象或资源.
如果应用系统的运行没有什么问题,此问题应可忽略.
------解决方案--------------------
一般来说,SQL会根据QueryMemoryResourceNotification来动态的调整SQL的 memory target,从而动态的调节SQL的committed memory,SQL不会在没有memory consumer进一步需要内存的情况下,一直增加内存。
所以,在刚启动的时候,就消耗掉所有的内存的情况主要有,
1,开启了LargePageAllocator
建议,DBCC TRACEOFF (834 ,-1);
2,可能跟NUMA有关。
建议,在BIOS里禁用NUMA
3,SQL内存泄漏
MSSQL的BUG
另外建议设置一个SQL memory maximum的值,,比如说二十几G,具体多少的话,计算过程比较复杂,以后有机会再说。
------解决方案--------------------
正常。内存剩余着也不会下仔
服务器: IBM 3650
OS: WIN 2008 Server
物理内存32G
SQL SERVER 2008
发现服务器刚启动没多久,SQL Server一个进程就占了近32G的内存,然后一直保持不变。CPU倒是在1%至30%之间波动。
这样正常吗?
------解决方案--------------------
建议:
1.检查SQL2008 SP2补丁是否有安装.
2.检查前端程序代码中,是否有未释放的对象或资源.
如果应用系统的运行没有什么问题,此问题应可忽略.
------解决方案--------------------
一般来说,SQL会根据QueryMemoryResourceNotification来动态的调整SQL的 memory target,从而动态的调节SQL的committed memory,SQL不会在没有memory consumer进一步需要内存的情况下,一直增加内存。
所以,在刚启动的时候,就消耗掉所有的内存的情况主要有,
1,开启了LargePageAllocator
建议,DBCC TRACEOFF (834 ,-1);
2,可能跟NUMA有关。
建议,在BIOS里禁用NUMA
3,SQL内存泄漏
MSSQL的BUG
另外建议设置一个SQL memory maximum的值,,比如说二十几G,具体多少的话,计算过程比较复杂,以后有机会再说。
------解决方案--------------------
正常。内存剩余着也不会下仔