在 Debian 上“给 MongoDB 限额”通常有两种理解,我分别说明,你可以按需选择。
适用于:限制 MongoDB 整个数据目录所在分区/用户的使用量
sudo apt update
sudo apt install quota
/etc/fstab,启用 quota假设 MongoDB 数据在 /var/lib/mongodb:
/dev/sda1 /var/lib/mongodb ext4 defaults,usrquota,grpquota 0 2
或单独挂载一个分区给 MongoDB 更合理。
sudo mount -o remount /var/lib/mongodb
sudo quotacheck -cum /var/lib/mongodb
sudo quotaon /var/lib/mongodb
sudo setquota -u mongodb 10G 12G 0 0 /var/lib/mongodb
表示:
适用于:限制进程级资源(不精确控制磁盘)
编辑:
sudo systemctl edit mongod
添加:
[Service]
IOWriteBandwidthMax=/var/lib/mongodb 50M
限制写带宽(不是容量)。
use mydb
db.createCollection("log", {
capped: true,
size: 1073741824, // 1GB
max: 100000 // 最多10万条
})
社区版不支持直接限制数据库大小 企业版可用:
storage:
quota:
maxDBSize: 10G
✅ 最佳实践:
/var/lib/mongodbmongostat / df -h 监控如果你能补充说明:
我可以给你更精确的配置示例。