我們有一個運行SQL Server 2008的8核心16GB RAM服務器。當我們對數百萬行進行大量查詢時,內存使用量高達15.7GB,然後甚至文件瀏覽,打開excel等變得非常慢。SQL Server - 當其他進程需要時它真的釋放內存嗎?
那麼當另一個進程需要它或者我有另一個問題時,SQL Server是否真的釋放內存?我們在此服務器上沒有任何其他主要程序正在運行。
我們爲SQL Server設置了14GB的最大內存使用量。
非常感謝任何啓發或解決問題的想法。
我們有一個運行SQL Server 2008的8核心16GB RAM服務器。當我們對數百萬行進行大量查詢時,內存使用量高達15.7GB,然後甚至文件瀏覽,打開excel等變得非常慢。SQL Server - 當其他進程需要時它真的釋放內存嗎?
那麼當另一個進程需要它或者我有另一個問題時,SQL Server是否真的釋放內存?我們在此服務器上沒有任何其他主要程序正在運行。
我們爲SQL Server設置了14GB的最大內存使用量。
非常感謝任何啓發或解決問題的想法。
是的。有關詳細信息,請參見SQLOS's memory manager: responding to memory pressure。但是,從機器到機器以及從操作系統版本到操作系統版本的「內存壓力」究竟意味着什麼,請參閱Q & A: Does SQL Server always respond to memory pressure?。如果你想爲應用程序保留更多的內存(我甚至懶得問爲什麼你瀏覽文件並在專用於SQL Server的計算機上使用Excel ......),那麼你應該降低mas服務器的內存直到它離開足夠您的娛樂。
SQL服務器不釋放內存。它將所有可以達到MaxMemory設置的內存都保留在那裏。
真的嗎?你有鏈接到某處確認這一點嗎? – Abs 2010-11-11 15:37:43
會這樣嗎? http://serverfault.com/questions/1279/reclaiming-memory-from-sql-server如果你想讓它釋放內存,你將不得不降低最大內存設置。 – 2010-11-11 15:39:38
該鏈接沒有提到SQL Server沒有釋放內存,但消耗盡可能多的東西。在你的回答中,你基本上是說它從不釋放內存,即使操作系統規定另一個進程需要這個內存? – Abs 2010-11-11 15:43:05