限制mongodb内存占用过高方法

1.mongodb必须是以服务的方式启动的。即能用service mongodb start的方式启动

资源限制用这个命令systemctl set-property <servicename> <field>=<value>

CentOS7 内存的设置方法为:

systemctl set-property mongod1 MemoryLimit=10G

 在Mongodb对应的config中改如下参数

storage:

  #dbPath: /var/lib/mongo

  dbPath: /home/mongodb/rs/data

  journal:

    enabled: true

  directoryPerDB: true

  engine: wiredTiger

#  mmapv1:

  wiredTiger:

     engineConfig:

        cacheSizeGB: 5

这个数字是你设置的limit x 60% - 1G,最小1G。

如果是以进程的方式启动,此时mongodb 占用内存很高怎么办呢?

可以执行以下两条命令:

#sync

#echo 3 > /proc/sys/vm/drop_caches

然后使用free -m 即可以看到内存下来了

原文地址:https://www.cnblogs.com/luo-mao/p/5872388.html