在Linux上设置MongoDB资源限制可通过以下方式:
内存限制
cgcreate -g memory:mongodb,然后echo 536870912 > /sys/fs/cgroup/memory/mongodb/memory.limit_in_bytes(限制为512MB),最后将MongoDB进程加入该组。/etc/systemd/system/mongod.service),在[Service]中添加MemoryLimit=512M,重启服务生效。mongod.conf,通过storage.wiredTiger.engineConfig.cacheSizeGB限制缓存大小(如cacheSizeGB: 1)。CPU限制
cpu子系统下创建控制组,设置cpu.cfs_quota_us和cpu.cfs_period_us(如echo 10000 > cpu.cfs_quota_us,echo 50000 > cpu.cfs_period_us,限制为20% CPU)。文件句柄限制
/etc/security/limits.conf,添加mongodb soft nofile 64000和hard nofile 64000,限制打开文件数。磁盘I/O限制
blkio子系统,如echo "8:0 524288" > /sys/fs/cgroup/blkio/mongodb/blkio.throttle.read_bps_device,限制磁盘读写速度。注意:不同方法可能相互影响,需确保配置一致,且修改后重启MongoDB生效。