如今手上有一個不大不小的系統,運行了一段時間,由於是24*7不斷運行,因此內存逐漸增高,慢慢的會飆到95%以上,而後不得不重啓電腦,由於用的是雲,怕虛擬機重啓down掉起不來,重啓操做還只能在凌晨四、5點人爲弄,周而復始的搞很累,因而下決心找出來究竟是什麼吞內存sql
以上兩張圖是系統的配置和內存佔有狀況,能夠計算出來,在任務管理器中實際顯示使用的內存不到2G,而我4核8G的服務器已是相對不錯的配置了,究竟是什麼東東佔用了內存呢,爲何沒有在任務管理器裏面顯示出來?服務器
爲了達到這個目的,我找到了微軟官方的工具 RAMMapide
http://technet.microsoft.com/zh-cn/sysinternals/ff700229.aspx工具
運行一看,AWE這條佔了7G多,那AWE又是什麼呢,具體是哪一個軟件致使的呢?繼續往下挖ui
首先是AWE的定義,從這篇能夠找到,能夠看到AWE和SQL有關this
因而找到這篇「Why does my SQL Server use AWE memory? and why is this not visible in RAMMap?」blog
從標題基本已經能夠猜想到了,這事確定是SQLSERVER乾的,繼續往下了解get
http://dba.stackexchange.com/questions/48504/awe-memory-usage-growing-with-sql-server-2012
這兩篇會告訴你SQLSERVER和AWE的關係
http://technet.microsoft.com/zh-cn/library/ms178067(v=sql.105).aspx
這篇會告訴你如何限制SQLSERVER不停的吞噬內存,基本命令以下:
sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO
sp_configure 'max server memory', 4096; --設置最大可以使用內存爲4G
GO
RECONFIGURE;
GO
http://www.brentozar.com/archive/2011/09/sysadmins-guide-microsoft-sql-server-memory/
這篇會告訴你限制 max server memory已經不合適了,應該加內存了
以上,基本解決內存問題,隨筆記錄