Mongodb一直在崩溃

时间:2011-08-09 14:13:20

标签: mongoid mongodb

我正在运行单个实例mongodb,数据库一直在崩溃。 任何人都知道这个问题是否与在单个实例中运行有关?

8月9日星期二09:02:59 [initandlisten]连接从127.0.0.1:60194接受#129526 8月9日星期二09:17:04 [initandlisten] MongoDB开始:pid = 517 port = 27017 dbpath = / var / lib / mongodb 32-bit

**注意:使用MongoDB 32位时,限制为大约2千兆字节的数据 **见http://blog.mongodb.org/post/137788967/32-bit-limitations **与--dur,限制较低

8月9日星期二09:17:04 [initandlisten] db version v1.8.2,pdfile version 4.5 8月9日星期二09:17:04 [initandlisten] git版本:433bbaa14aaba6860da15bd4de8edf600f56501b 8月9日星期二09:17:04 [initandlisten]构建系统信息:Linux bs-linux32.10gen.cc 2.6.21.7-2.fc8xen#1 SMP Fri 2月15日12:39:36 EST 2008 i686 BOOST_LIB_VERSION = 1_37


旧锁文件:/var/lib/mongodb/mongod.lock。可能意味着不洁的关机 建议删除文件并运行--repair 请参阅:http://dochub.mongodb.org/core/repair了解更多信息


8月9日星期二09:17:05 initAndListen中的[initandlisten]异常std :: exception:旧的锁定文件,终止 8月9日星期二09:17:05 dbexit: 8月9日星期二09:17:05 [initandlisten]关闭:关闭监听套接字...... 8月9日星期二09:17:05 [initandlisten]关闭:要刷新diaglog ... 8月9日星期二09:17:05 [initandlisten]关闭:关闭套接字...... 8月9日星期二09:17:05 [initandlisten] shutdown:等待fs preallocator ... 8月9日星期二09:17:05 [initandlisten]关闭:关闭所有文件... 8月9日星期二09:17:05 closeAllFiles()完成了 8月9日星期二09:17:05 dbexit:现在真的退出

3 个答案:

答案 0 :(得分:1)

它当然与mongoid无关,因为它甚至不是驱动程序,因此它甚至不连接到您的数据库实例。
此外,我建议您在https://jira.mongodb.org/发布您的日志文件 (但随意在您的问题中添加更多信息,以便我们可以在这里帮助您=)。)

答案 1 :(得分:1)

两个可能的问题:

查看 ulimit -a ,了解您允许的打开文件数量。每个TCP连接都算作一个打开的文件。同样打开实际文件。将此值设置为较大的数字,然后查看崩溃是否停止。

另外,检查最大进程的值,对于繁忙的服务器,它应该至少为4096或8192(我们的是32768)。这些进程中的大多数都是跟踪连接,因此它们大多数时间处于空闲状态。但是,即使在未加密的系统上,您也可以接近这些限制。

要检查实际打开的文件:

lsof -p <pidnumber>

检查实际流程:

ps axo pid,ppid,rss,vsz,nlwp,cmd | egrep mongod

然后查看nlwp列。

要解决此问题,请执行以下操作:

man limits.conf
google: limits.conf pam setup ulimit change

更改/etc/security/limits.d/nnn-username.conf

中的值

答案 2 :(得分:0)

如果要存储的数据超过2GB,则通常32位支持数据,然后升级到64位。如果您的数据存储在32位中小于2GB,请尝试〜$ mongod --repair 来解决不干净的关闭问题。