Sqlserver對系統內存的管理原則
按需分配,且貪婪(用完不還)。它不會自動釋放內存,因此執行結果集大的sql語句時,數據取出後,會一直佔用內存,直到佔滿機器內存(並不會撐滿,還是有個最大限制,比機器內存稍小),在重啓服務前,sqlserver不會釋放該內存,也沒有任何辦法可人爲釋放。以下命令雖然可釋放緩存,但sqlserver並不會因此釋放已佔用的內存。
影響
造成機器運行緩慢、死鎖等。
解決方案
手動修改"最大服務器內存",默認是2147483647M。64位系統無需開啓AWE,AWE是32位系統下爲了使用超過4G的物理內存才用的。
同時配合druid最好數據源監控。
參考: