mongodb - 为什么 32 位机器上的 mongodb 数据大小限制为 2GB,而不是 4GB?

标签 mongodb

作为here值得一提的是,mongodb 在具有一个 mongod 实例的 32 位机器中将数据大小限制为 2GB。但我想知道 32 位机器理论上有 4GB 的可寻址空间,而 mongod 可以使用这 4GB 而不是 2GB 来使用虚拟内存。那么为什么答案是2GB,而不是4GB呢?

最佳答案

4Gb 的可寻址空间与用户应用程序打开的内存映射文件可用的内存空间不同。一些可寻址空间是为操作系统内核和内存映射设备(如视频卡)保留的。

例如,32 位 Windows 将用户模式(以及内存映射文件)限制为 ~2Gb RAM,总系统 RAM 为~3.5Gb。

更多阅读,请参阅:

大多数现代桌面和服务器环境大约在十年前就开始转向 64 位(请参阅 64-bit operating system timeline on Wikipedia),因此这并不是实际影响部署的限制。

您只想在数据有限的开发环境中使用 32 位 MongoDB。

关于mongodb - 为什么 32 位机器上的 mongodb 数据大小限制为 2GB,而不是 4GB?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15059725/

相关文章:

arrays - MongoDB slice 查询到golang

mongodb - 聚合错误: The field 'planet' must be an accumulator object

mongodb - 我可以增加mongodb中每个集合的最大索引数吗?

ruby-on-rails - Mongoid embeds_many 和 has_many 到同一个模型

MongoDB 查询具有不存在的字段和索引的记录

mongodb - 在一个查询中查找最接近的日期

c# - 公共(public)属性的默认 MongoDB 序列化

mongodb - 在 MongoDB 中建模用户到项目的数据库

json - 从数据库存储和查询 JSON

用于基于事务的事件的 Mongodb