限制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 即可以看到内存下来了

    原文作者:MongoDB
    原文地址: https://www.cnblogs.com/luo-mao/p/5872388.html
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞