为什么在32位限制下2 GB而不是4 GB?

时间:2013-06-03 11:17:35

标签: mongodb

很抱歉这个愚蠢的问题,但在reading about 32 bits limitation时,我发现由于内存映射方法,MongoDB无法存储超过2 GB,但是:

2^32 = 4 GB

那么为什么限制只有2 GB?是因为:

2^(32-1) = 2 GB

1 个答案:

答案 0 :(得分:4)

归功于virtual address space组织。部分4 GB地址空间是为操作系统(内核空间)保留的,因此只有部分(用户空间,通常为2GB或3GB)可用于进程本身。内存映射文件必须符合此限制。