Windows下使用WSRM限制MongoDB内存

时间:2023-03-08 19:33:11

  有个项目用到了MongoDB,我们是在WINDOWS 2008 64位环境下部署的,为啥不部署到linux下面呢,我们没那么多服务器,只能将就一下了。

  大家都知道Mongodb吃内存太厉害了,如果不重启服务,内存一直蹭蹭地往上涨,定时重启MongoDB服务是能暂时的收回内存,但这也不是长久之计。如果不去限制MongoDB的内存那么系统有多少内存都能被它消耗掉,我们的服务器上还有IIS, SQL SERVER, Redis等其他服务,不能将内存全部分配给Mongodb使用,怎样限制MongoDB的内存呢?

  为了解决这个问题,我发现Windows 2008自带的“Windows 系统资源管理器”很好用,可以完美的解决这个问题。我将配置的方法一步一步的记下来,为了以后查询起来也方便。

1、安装 Windows 系统资源管理器

打开:开始  -- 管理工具  -- 服务器管理器

Windows下使用WSRM限制MongoDB内存

选择“功能”  -- 添加功能  -- 勾选  Windows 系统资管理器

在弹出的窗口点击“添加必须的功能”

Windows下使用WSRM限制MongoDB内存

下一步   ---  安装

Windows下使用WSRM限制MongoDB内存

稍微等待1分钟左右 Windows 系统资管理器就安装好了

Windows下使用WSRM限制MongoDB内存

打开  Windows 系统资管理器

选择 管理此计算机  --- 连接

Windows下使用WSRM限制MongoDB内存

在资源分配策略上右键  -- 新建资源分配策略

Windows下使用WSRM限制MongoDB内存

随便填写个名字,例如 Mongodb Limit ,然后点击下面那个添加按钮

Windows下使用WSRM限制MongoDB内存

在常规窗口下拉 进程匹配条件 --  新建

Windows下使用WSRM限制MongoDB内存

在弹出的窗口中继续点击添加

Windows下使用WSRM限制MongoDB内存

因为我服务器上的Mongodb注册成了服务,所以在这里选择: 已注册的服务 ,再点击右边的“选择“按钮

Windows下使用WSRM限制MongoDB内存

在众多服务中找到mongodb服务

Windows下使用WSRM限制MongoDB内存

Windows下使用WSRM限制MongoDB内存

一路”确定“

Windows下使用WSRM限制MongoDB内存

回到资源分配的常规页面,这里我们将CPU限制为40%

Windows下使用WSRM限制MongoDB内存

切换到”内存“ 页

为了测试,我们将内存限制为1000M

Windows下使用WSRM限制MongoDB内存

设置好了就可以在这里看到我们的新策略

Windows下使用WSRM限制MongoDB内存

为了让新策略起效,我们还需要点击几下鼠标,完成最后的操作:

在 资源管理器上点击右键展开菜单,选择”属性“

Windows下使用WSRM限制MongoDB内存

将日历修改为禁用,然后选择当前资源分配策略为我们新建的 MongodbLimit

Windows下使用WSRM限制MongoDB内存

确定后发现在MongodbLimit 后面多了个 {管理} 字样,说明我们的设置其效果了。

Windows下使用WSRM限制MongoDB内存

我们重启mongodb服务,发现最大内存限制在了1000MB附近

Windows下使用WSRM限制MongoDB内存

终于不必再担心服务器内存不够了,可以安稳的睡个好觉了。