我一直在研究MongoDB,并将最多1 GB的数据插入到数据库集合中,并注意到任务管理器中显示的MongoDB的进程大小为25mb,但是当我插入数据时,任务管理器的性能选项卡中的整体内存越来越高,问题是为什么1 GB不是任务管理器显示的进程大小的一部分,我知道mongodb将它存储在Files上但是它将部分数据缓存在内存中。
答案 0 :(得分:1)
MongoDB(< = 2.6)使用内存映射文件。这意味着数据库要求操作系统将数据文件映射到虚拟内存的一部分。然后,操作系统根据数据库访问的内容处理移入和移出物理内存的事物。您的1GB数据被映射到虚拟内存,但可能不会驻留在物理内存中,因为您最近没有访问它。要查看有关MongoDB内存使用情况的更详细统计信息,请在shell中运行db.serverStatus()
并查看mem
部分。您可以在storage FAQ中了解有关内存映射存储引擎的更多信息。