1. 程式人生 > 實用技巧 >Windows下使用WSRM限制MongoDB記憶體

Windows下使用WSRM限制MongoDB記憶體

2019獨角獸企業重金招聘Python工程師標準>>> hot3.png

有個專案用到了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附近

技術分享

終於不必再擔心伺服器記憶體不夠了,可以安穩的睡個好覺了。

轉載於:https://my.oschina.net/airship/blog/2251304