首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法创建大于500 500的上限集合。

无法创建大于500 500的上限集合。
EN

Stack Overflow用户
提问于 2012-08-06 09:27:12
回答 1查看 1.3K关注 0票数 0

我在32位系统上使用了Mongo,我需要创建一个最大大小为1GB的大上限集合。在64位系统上,一切都很好,但在32位上,我得到了错误:

代码语言:javascript
复制
com.mongodb.CommandResult$CommandFailure: command failed [command failed [create] { 
"serverUsed" : "localhost:27017" , 
"errmsg" : "exception: assertion db\\pdfile.cpp:437" , 
"code" : 0 , 
"ok" : 0.0}

在32位系统上,服务器的总存储大小是2GB,但是即使有了这个大小,我也不能创建一个大于500 is的集合。这个神奇的数字是什么意思?

Mongo db服务器版本为2.0.6

附加信息:

我有几个数据库文件,其总大小为34MB。在运行mongo之前,我要将这些文件复制到“data”目录中,启动Mongo,然后在shell中看到与35651584 (34MB)大小相同的数字(所使用的命令取自下面的注释)。如果我尝试创建一个大小为500 to的集合,就会看到添加了一个新文件(512 To)。但是,例如,如果我尝试创建一个大小为600 to的集合,则上面描述了一个错误(但512 to文件仍在添加)。

Mongo db服务器日志

Mongo db是使用命令行选项启动的:

代码语言:javascript
复制
> db.adminCommand("getCmdLineOpts")
{
        "argv" : [
                "mongod.exe",
                "--dbpath",
                "..\\data",
                "-vvvvvv",
                "--logpath",
                "..\\log\\server.log"
        ],
        "parsed" : {
                "dbpath" : "..\\data",
                "logpath" : "..\\log\\server.log",
                "vvvvvv" : true
        },
        "ok" : 1
}
>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-08-06 11:23:49

MongoDB 跑得好得多在64位系统上,你能换到x64吗?正如Stennie所说,由于数据库中的其他数据,您必须达到mmap限制。

您能通过连接mongo shell并通过运行一个大于512 MB的1字节的新集合来验证这个假设吗?

代码语言:javascript
复制
db.createCollection("mycoll6", {capped:true, size:536870913})

希望你能得到以下错误信息-

代码语言:javascript
复制
"errmsg" : "exception: can't map file memory - mongo requires 64 bit build for larger datasets",

在Mongo shell中,连接到管理数据库并查看数据库的大小,以查看您有多少数据-

代码语言:javascript
复制
use admin
show dbs

更新:基于一些额外的测试(我使用了Ubuntu12.04 32位),这似乎是一个错误。

Ubuntu测试

db.createCollection("my13",{capped:true,size:536608768}) {“my13”:“异常:断言db/pdfile.cpp:437",”代码“:0,"ok”:0} db.createCollection("my13",{capped:true,size:536608767}) { "ok“:1}

536608767字节略低于512 MB,为文件中的某种标题留出了空间。

我认为这可能与[smallfiles][2]有关,因为所有32位安装都使用该选项运行,但是,带有smallfiles的x64构建并不会显示相同的症状。

我已经为这个问题记录了服务器-6722

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11825598

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档