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