- 首页 >
- 问答 >
-
云计算 >
- Ubuntu MongoDB配置内存如何设置
Ubuntu MongoDB配置内存如何设置
小樊
36
2025-11-30 23:51:56
Ubuntu 上 MongoDB 内存设置指南
一 核心思路
- 在 Ubuntu 上,MongoDB 默认使用 WiredTiger 存储引擎,其缓存由参数 storage.wiredTiger.engineConfig.cacheSizeGB 控制。该值用于限制 WiredTiger 能使用的内存上限;如果不显式设置,MongoDB 会按系统内存自动选择一个默认值(常见为系统总内存的较大比例)。修改该值需要编辑配置文件并重启服务。配置文件通常位于 /etc/mongod.conf。
二 操作步骤
- 编辑配置文件
使用编辑器打开默认配置文件:
sudo nano /etc/mongod.conf
- 设置 WiredTiger 缓存大小
在 storage 段下添加或修改 wiredTiger.engineConfig.cacheSizeGB。例如,将缓存限制为 2GB:
storage:
wiredTiger:
engineConfig:
cacheSizeGB: 2
说明:该值以 GB 为单位,请根据业务负载与系统可用内存合理设置。
- 保存并重启服务
使配置生效:
sudo systemctl restart mongod
- 验证配置是否生效
连接 MongoDB Shell 并检查:
mongo --eval “db.serverStatus().wiredTiger.cache[‘maximum bytes configured’]/1024/1024/1024”
输出即为当前配置的缓存上限(单位 GB,注意浮点值)。
三 配置示例
- 将 WiredTiger 缓存设置为 4GB:
storage:
wiredTiger:
engineConfig:
cacheSizeGB: 4
- 设置完成后重启:
sudo systemctl restart mongod
- 说明:YAML 对缩进敏感,请使用空格;修改配置后必须重启才能生效。
四 注意事项
- 该缓存上限仅限制 WiredTiger 缓存,MongoDB 进程的总内存占用还会包含连接、文件系统缓存、聚合/排序等临时内存,可能高于 cacheSizeGB。
- 不要将 cacheSizeGB 设置得过大,需为操作系统与其他进程预留充足内存,避免 OOM 或性能抖动。
- 配置修改后如未生效,检查 YAML 缩进是否正确,并确认已重启服务;必要时查看日志:
sudo systemctl status mongod
tail -n50 /var/log/mongodb/mongod.log。