先说结论
本文适配 MongoDB 4.2.1
不能通过 MongoDB 的配置文件严格限制 MongoDB 占用的内存
将 storage.wiredTiger.engineConfig.cacheSizeGB 配置为期望占用最大内存的 60% 左右即可
查看 MongoDB 内存使用情况
mem
> db.serverStatus().mem
{
"bits": 64, // 操作系统位数
"resident": 15542, // 常驻内存/物理内存(MB)
"virtual": 16760, // 虚拟内存
"supported": true // 为 true 表示支持显示额外的内存信息
}
tcmalloc
> db.serverStatus().tcmalloc.tcmalloc.formattedString
------------------------------------------------
MALLOC: 13431957064 (12809.7 MiB) Bytes in use by application
MALLOC: + 1582014464 ( 1508.7 MiB) Bytes in page heap freelist
MALLOC: + 1060879520 ( 1011.7 MiB) Bytes in central cache freelist
MALLOC: + 2996608 ( 2.9 MiB) Bytes in transfer cache freelist
MALLOC: + 7394200 ( 7.1 MiB) Bytes in thread cache f