#昊鼎王五:如何解决“Mongo缓存不够用报错”的问题?
#1.报错信息:
“MongoException:Executor error:Overflow sort stage buffered data usage of 33557864 bytes exceeds internal limit of 33554432”
如下图:

#2.根源定位:
从日志上来看,是MONGODB缓存不够用了。
#3.解决方案:
解决方法1:增加缓存,充分给予资源
解决方法2:建立索引,降低缓存使用
#4.具体步骤:
##4.1.解决方法1:增加缓存,充分给予资源
> use admin
switched to db admin
> db.runCommand( { getParameter : 1, "internalQueryExecMaxBlockingSortBytes" : 1 } )
{ "internalQueryExecMaxBlockingSortBytes" : 33554432, "ok" : 1 }
> db.adminCommand({setParameter: 1, internalQueryExecMaxBlockingSortBytes:50151432})
{ "was" : 33554432, "ok" : 1 }
##4.2.解决方法2:建立索引,降低缓存使用
db.getCollection('xxx').ensureIndex({"data.publishTime":1});
db.getCollection('xxx').getIndexes();
db.getCollection('yyy').ensureIndex({"data.publishTime":1});
db.getCollection('yyy').getIndexes();
好了,聪明如你,知道了如何解决“Mongo缓存不够用报错”的问题,是不是很欢喜 _
还有其他问题的可以在评论区留言或者扫码加博主获取资源或者提问。

MongoDB缓存溢出解决
本文介绍了解决MongoDB因缓存不足导致的错误的方法。主要包括两种方案:一是通过调整参数增加可用缓存;二是为集合创建索引来减少查询时的缓存使用。
366

被折叠的 条评论
为什么被折叠?



