標籤:
有個項目用到了MongoDB,我們是在WINDOWS 2008 64位環境下部署的,為啥不部署到linux下面呢,我們沒那麼多伺服器,只能將就一下了。
大家都知道Mongodb吃記憶體太厲害了,如果不重啟服務,記憶體一直蹭蹭地往上漲,定時重啟MongoDB服務是能暫時的收回記憶體,但這也不是長久之計。如果不去限制MongoDB的記憶體那麼系統有多少記憶體都能被它消耗掉,我們的伺服器上還有IIS, SQL SERVER, Redis等其他服務,不能將記憶體全部分配給Mongodb使用,怎樣限制MongoDB的記憶體呢?
為瞭解決這個問題,我發現Windows 2008內建的“Windows 系統資源管理員”很好用,可以完美的解決這個問題。我將配置的方法一步一步的記下來,為了以後查詢起來也方便。
1、安裝 Windows 系統資源管理員
開啟:開始 -- 管理工具 -- 伺服器管理員
選擇“功能” -- 添加功能 -- 勾選 Windows 系統資管理器
在彈出的視窗點擊“添加必須的功能”
下一步 --- 安裝
稍微等待1分鐘左右 Windows 系統資管理器就安裝好了
開啟 Windows 系統資管理器
選擇 管理此電腦 --- 串連
在資源分派策略上右鍵 -- 建立資源分派策略
隨便填寫個名字,例如 Mongodb Limit ,然後點擊下面那個添加按鈕
在常規視窗下拉 進程匹配條件 -- 建立
在彈出的視窗中繼續點擊添加
因為我伺服器上的Mongodb註冊成了服務,所以在這裡選擇: 登入的服務 ,再點擊右邊的“選擇“按鈕
在眾多服務中找到mongodb服務
一路”確定“
回到資源分派的常規頁面,這裡我們將CPU限制為40%
切換到”記憶體“ 頁
為了測試,我們將記憶體限制為1000M
設定好了就可以在這裡看到我們的新策略
為了讓新策略起效,我們還需要點擊幾下滑鼠,完成最後的操作:
在 資源管理員上點擊右鍵展開菜單,選擇”屬性“
將日曆修改為禁用,然後選擇當前資源分派策略為我們建立的 MongodbLimit
確定後發現在MongodbLimit 後面多了個 {管理} 字樣,說明我們的設定其效果了。
我們重啟mongodb服務,發現最大記憶體限制在了1000MB附近
終於不必再擔心伺服器記憶體不夠了,可以安穩的睡個好覺了。
Windows下使用WSRM限制MongoDB記憶體