2010-11-11 13 views
3

我们有一个运行SQL Server 2008的8核心16GB RAM服务器。当我们对数百万行进行大量查询时,内存使用量高达15.7GB,然后甚至文件浏览,打开excel等变得非常慢。SQL Server - 当其他进程需要时它真的释放内存吗?

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

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

非常感谢任何启发或解决问题的想法。

回答

8

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

0

SQL服务器不释放内存。它将所有可以达到MaxMemory设置的内存都保留在那里。

+0

真的吗?你有链接到某处确认这一点吗? – Abs 2010-11-11 15:37:43

+0

会这样吗? http://serverfault.com/questions/1279/reclaiming-memory-from-sql-server如果你想让它释放内存,你将不得不降低最大内存设置。 – 2010-11-11 15:39:38

+0

该链接没有提到SQL Server没有释放内存,但消耗尽可能多的东西。在你的回答中,你基本上是说它从不释放内存,即使操作系统规定另一个进程需要这个内存? – Abs 2010-11-11 15:43:05

相关问题