[MongoDB] - 增加 sort memory [MongoDB] - 對於"OperationFailed: Sort operation used more than the maximum 33554432 bytes of RAM"問題的優化
[MongoDB] - 對於"OperationFailed: Sort operation used more than the maximum 33554432 bytes of RAM"問題的優化
背景:MongoDB v4.2.7
錯誤:OperationFailed: Sort operation used more than the maximum 33,554,432 bytes of RAM. Add an index, or specify a smaller limit.’ on server
修改:增加 sort memory
*** 修改當前執行時(重啟MongoDB失效) ***
1. 查詢現有配置
db.adminCommand({getParameter: '*'})
2. 更新配置(MongoDB v4.2)
db.adminCommand({"setParameter":1,"internalQueryExecMaxBlockingSortBytes":335544320})
更新配置(MongoDB v4.4)
參考資料:https://jira.mongodb.org/browse/SERVER-44053
db.adminCommand({"setParameter":1,"internalQueryMaxBlockingSortMemoryUsageBytes":335544320})
以上操作只能一次生效,如果想永久生效需要修改配置檔案。
3. 修改配置檔案 /etc/mongod.conf
更新配置(MongoDB v4.2)
setParameter: internalQueryExecMaxBlockingSortBytes: 335544320
更新配置(MongoDB v4.4)
setParameter: internalQueryMaxBlockingSortMemoryUsageBytes: 335544320
最新版mongodb配置如下:
mongodb版本:
檢視sort 記憶體語句:
mongo test --eval 'db.adminCommand({getParameter:1, internalQueryMaxBlockingSortMemoryUsageBytes:1});'
背景:MongoDB v4.2.7
錯誤:OperationFailed: Sort operation used more than the maximum 33,554,432 bytes of RAM. Add an index, or specify a smaller limit.’ on server
修改:增加 sort memory
*** 修改當前執行時(重啟MongoDB失效) ***
1. 查詢現有配置
db.adminCommand({getParameter: '*'})
2. 更新配置(MongoDB v4.2)
db.adminCommand({"setParameter":1,"internalQueryExecMaxBlockingSortBytes":335544320})
更新配置(MongoDB v4.4)
參考資料:https://jira.mongodb.org/browse/SERVER-44053
db.adminCommand({"setParameter":1,"internalQueryMaxBlockingSortMemoryUsageBytes":335544320})
以上操作只能一次生效,如果想永久生效需要修改配置檔案。
3. 修改配置檔案 /etc/mongod.conf
更新配置(MongoDB v4.2)
setParameter: internalQueryExecMaxBlockingSortBytes: 335544320
更新配置(MongoDB v4.4)
setParameter: internalQueryMaxBlockingSortMemoryUsageBytes: 335544320
最新版mongodb配置如下:
mongodb版本:
檢視sort 記憶體語句:
mongo test --eval 'db.adminCommand({getParameter:1, internalQueryMaxBlockingSortMemoryUsageBytes:1});'