SQL Server - 当另一个进程需要时它是否真的释放内存?

时间:2010-11-11 15:05:27

标签: sql-server sql-server-2008 memory

我们有一台8核,16GB RAM服务器,上面运行着SQL Server 2008。当我们对数百万行执行大型查询时,RAM使用率高达15.7GB,然后甚至文件浏览,打开excel等变得非常慢。

当另一个进程需要它时,或者我遇到另一个问题时,SQL Server是否真的会释放内存?我们没有在此服务器上运行任何其他主要程序。

我们为SQL Server设置了14GB的最大内存使用量。

感谢所有人的启发或解决问题的想法。

2 个答案:

答案 0 :(得分:8)

是的。有关详细信息,请参阅SQLOS's memory manager: responding to memory pressure。但是,究竟意味着内存压力是什么?它取决于机器之间以及从OS版本到OS版本,请参阅Q & A: Does SQL Server always respond to memory pressure?。如果你想为应用程序保留更多内存(我甚至懒得问为什么你浏览文件并在专用于SQL Server的机器上使用Excel ......)那么你应该降低mas服务器内存,直到它足够你的娱乐。

答案 1 :(得分:0)

SQL服务器不释放内存。它占用了可以达到MaxMemory设置的所有内存,并且它会保留在那里。