看一下serverStatus
命令,我看到以下数据。
>db.runCommand( { serverStatus: 1} )
...
"mem" : {
"bits" : 64,
"resident" : 2138, // Mongo uses 2 GB RAM
"virtual" : 33272,
"supported" : true,
"mapped" : 16489, // equals db.coll.totalSize()
"mappedWithJournal" : 32978
},
Mongo 建议工作集大小适合 RAM。
如果我理解正确,那么 16.4 GB 的 Mongo 文档/索引是内存映射的。由于 Mongo 只使用 2 GB 的 RAM,所以当 Mongo 需要访问 2 GB 之外的地址时,Mongo 需要在磁盘上获取地址的内容,然后将它们加载到内存中?
这是我的解释是工作集必须适合 RAM 的主要原因吗?