我正在运行单个实例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:现在真的退出
答案 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 来解决不干净的关闭问题。