有个项目用到了MongoDB,咱们是在WINDOWS 2008 64位环境下部署的,为啥不部署到linux下面呢,咱们没那么多服务器,只能将就一下了。linux
你们都知道Mongodb吃内存太厉害了,若是不重启服务,内存一直蹭蹭地往上涨,定时重启MongoDB服务是能暂时的收回内存,但这也不是长久之计。若是不去限制MongoDB的内存那么系统有多少内存都能被它消耗掉,咱们的服务器上还有IIS, SQL SERVER, Redis等其余服务,不能将内存所有分配给Mongodb使用,怎样限制MongoDB的内存呢?mongodb
为了解决这个问题,我发现Windows 2008自带的“Windows 系统资源管理器”很好用,能够完美的解决这个问题。我将配置的方法一步一步的记下来,为了之后查询起来也方便。服务器
一、安装 Windows 系统资源管理器工具
打开:开始 -- 管理工具 -- 服务器管理器测试
选择“功能” -- 添加功能 -- 勾选 Windows 系统资管理器spa
在弹出的窗口点击“添加必须的功能”3d
下一步 --- 安装 blog
稍微等待1分钟左右 Windows 系统资管理器就安装好了 进程
打开 Windows 系统资管理器 内存
选择 管理此计算机 --- 链接
在资源分配策略上右键 -- 新建资源分配策略
随便填写个名字,例如 Mongodb Limit ,而后点击下面那个添加按钮
在常规窗口下拉 进程匹配条件 -- 新建
在弹出的窗口中继续点击添加
由于我服务器上的Mongodb注册成了服务,因此在这里选择: 已注册的服务 ,再点击右边的“选择“按钮
在众多服务中找到mongodb服务
一路”肯定“
回到资源分配的常规页面,这里咱们将CPU限制为40%
切换到”内存“ 页
为了测试,咱们将内存限制为1000M
设置好了就能够在这里看到咱们的新策略
为了让新策略起效,咱们还须要点击几下鼠标,完成最后的操做:
在 资源管理器上点击右键展开菜单,选择”属性“
将日历修改成禁用,而后选择当前资源分配策略为咱们新建的 MongodbLimit
肯定后发如今MongodbLimit 后面多了个 {管理} 字样,说明咱们的设置其效果了。
咱们重启mongodb服务,发现最大内存限制在了1000MB附近
终于没必要再担忧服务器内存不够了,能够安稳的睡个好觉了。