关于mongodb:MongoDB-error-code-96-的解决办法或者说排序时内存使用超过32MB的问题的解决办法

景象:

返回json报错:

{
  code: 96 ,
  codeName: "OperationFailed" ,
  name: "MongoError"
}

起因:

mongodb用于排序的内存下限为32M,当一次排序的数据集超过32M的时候就会报这个错。

解决办法:

 1、db.adminCommand({setParameter: 1,internalQueryExecMaxBlockingSortBytes: xxxx}),xxxx的取值为本人想要的内存下限,比方,256M=256*1024*1024=268435456。此命令即时失效,不过,要留神的是,当MongoDB重启时,如果配置文件中未显示设置,则会复原默认的32M。
 2、批改/etc/mongod.conf,增加如下内容,确保重启之后不会复原到默认值:

setParameter:
internalQueryExecMaxBlockingSortBytes: 268435456

参考链接:
https://blog.sina.com.cn/s/bl…

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理