【问题标题】:How to set internalQueryExecMaxBlockingSortBytes in mongo.conf如何在 mongo.conf 中设置 internalQueryExecMaxBlockingSortBytes
【发布时间】:2019-05-15 21:09:10
【问题描述】:

我无法找到如何在我的 mongo 配置文件中设置 internalQueryExecMaxBlockingSortBytes

我遇到了以下错误消息:

OperationFailure:查找命令期间执行器错误:OperationFailed: 排序操作使用了超过最大 33554432 字节的 RAM。添加 一个索引,或指定一个较小的限制。

我不知道为什么它说设置一个较小的限制,我想我想增加限制。我已经看到我可以按照this SO answer 中的说明使用以下命令手动设置参数:

>  db.adminCommand({setParameter: 1, internalQueryExecMaxBlockingSortBytes:50151432})
{ "was" : 33554432, "ok" : 1 }

我正在使用以下版本的 Mongo:

MongoDB shell version v3.4.10
MongoDB server version: 3.4.10

在查看文档时,我没有看到提到 internalQueryExecMaxBlockingSortBytes。我假设我可以使用setParameter 设置此参数:

setParameter:
   internalQueryExecMaxBlockingSortBytes: 67108864

但是https://docs.mongodb.com/v3.4/reference/parameters/ 中没有提到这个选项。是来自另一个版本的 Mongo 的设置吗?我可以在 v3.4 中使用它吗?

【问题讨论】:

  • jira.mongodb.org/browse/SERVER-23768 说这是 yaml 格式记录在这里,记录的参数在这里列出。没有具体记录的原因是它不是公共 MongoDB API 的一部分,我们不想承诺在所有未来版本中都支持它,这就是为什么它以“internal”为前缀。聚合管道已经支持将外部排序溢出到磁盘,并且有一个开放的功能请求将此功能扩展到常规查询:SERVER-7694。

标签: mongodb memory-management


【解决方案1】:

我知道现在回答真的太晚了。但是今天我也遇到了同样的问题,通过大量的搜索,我得到了答案。我认为有一天它会帮助某人。

db.adminCommand({setParameter: 1, internalQueryMaxAddToSetBytes: 67108864}) 使用此命令设置 RAM 大小。在 admin 数据库上执行此命令。否则会报错。

【讨论】:

    猜你喜欢
    • 2016-06-03
    • 2018-02-22
    • 1970-01-01
    • 2018-02-07
    • 2018-07-29
    • 2019-05-26
    • 1970-01-01
    • 2012-06-07
    • 1970-01-01
    相关资源
    最近更新 更多