as here http://docs.mongodb.org/manual/faq/fundamentals/#faq-32-bit-limitations值得一提的是,在具有单个 mongod 实例的 32 位机器中,mongodb 的数据大小限制为 2GB。但我想知道32位机器理论上有4GB可寻址空间,mongod可以使用这4GB而不是2GB用于虚拟内存使用。那么为什么答案是 2GB,而不是 4GB?
4Gb 可寻址空间与用户应用程序打开的内存映射文件可用的内存空间不同。一些可寻址空间是为操作系统内核和内存映射设备(例如视频卡)保留的。
例如,32 位 Windows 将用户模式(以及内存映射文件)限制为 ~2Gb RAM,将总系统 RAM 限制为 ~3.5Gb。
如需更多阅读,请参阅:
- 编码恐怖:伙计,我的 4 GB 内存在哪里? http://www.codinghorror.com/blog/2007/03/dude-wheres-my-4-gigabytes-of-ram.html
- MSDN:管理内存映射文件 http://msdn.microsoft.com/en-us/library/ms810613.aspx
- MSDN:内存映射文件 http://msdn.microsoft.com/en-us/library/dd997372.aspx
大多数现代桌面和服务器环境大约十年前开始转向 64 位(请参阅维基百科上的 64 位操作系统时间表 http://en.wikipedia.org/wiki/64-bit#64-bit_operating_system_timeline)所以这并不是实际影响部署的限制。
您只想在数据有限的开发环境中使用 32 位 MongoDB。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)