MongoDB没有足够的存储空间,32位

时间:2012-01-24 12:48:31

标签: mongodb

尝试将数据插入MongoDB时,我收到的“存储空间不足”错误。但我没有达到规模限制,如统计数据所示。

> db.stats()
{
        "db" : "{my db name}",
        "collections" : 20,
        "objects" : 281092,
        "avgObjSize" : 806.4220539894412,
        "dataSize" : 226678788,
        "storageSize" : 470056960,
        "numExtents" : 95,
        "indexes" : 18,
        "indexSize" : 13891024,
        "fileSize" : 1056702464,
        "nsSizeMB" : 16,
        "ok" : 1
}

日记功能已启用,但日志文件大小仅为262232 KB。

虽然dataSize低于262144 KB的较小文件,但已创建大小为524032 KB的数据文件。

NS文件为16384 KB。

我已经读过几个地方,这个错误是由32位大约2 GB的大小限制引起的,但是当我的dataSize低于那个时,为什么我会收到此错误?

1 个答案:

答案 0 :(得分:3)

首先。该约束适用于fileSize,因为存储引擎使用内存映射文件。这个目前为1Gb。可能的是,MongoDB即将预分配一个新的数据文件,该文件的大小可能是1Gb(默认大小为64mb,128mb,256mb,512mb,1Gb,每个附加数据文件的格式为2Gb)。你可能正处于512mb而不是1Gb的位置。

坦率地说,我认为在32位环境中使用MongoDB是绝对禁止的,但如果您坚持使用它,您可以尝试使用--smallfiles选项,该选项分配最多512Mb的较小文件。