最近開發sql server數據庫項目的過程中發現了這么一個問題,后台網站內存占用95%,通過任務管理器查看發現占內存的進程是sqlserver.exe,是因為SQL Server 2008 R2運行越久,占用內存會越來越大。
因為sql server 本身內存回收機制的問題【Sql Server系統內存管理在沒有配置內存最大值,很多時候我們會發現運行Sql Server的系統內存往往居高不下。這是由於他對於內存使用的策略是有多少閑置的內存就占用多少,直到內存使用慮達到系統峰值時(預留內存根據系統默認預留使用為准,至少4M),才會清除一些緩存釋放少量的內存為新的緩存騰出空間】
解決方法:設置最大服務器內存
進入Sql server 企業管理器,在數據庫服務器名稱上點擊【右鍵】,選擇【屬性】,然后,找到【內存】選項,在右邊的【使用AWE分配內存】(sqlServer64的應該不用勾)左邊把對勾打上。在最大服務器內存(MB)上填入適當的大小(具體填多大,肯定不能超過計算機的物理內存,當然,也可以在任務管理器中查一下,sqlserver.exe占有多大時,系統會變慢作為參考),記得是以M(兆)為單位,點確定,重啟一下Sql服務器!OK!
