解决MongoDB 排序超过内存限制的问题
对集合执行一个大排序操作(如聚合),出现以下错误:(测试版本:MongoDB 3.0.6)
> db.bigdata.aggregate( {$group : {_id : "$range", total : { $sum : 1 }}}, {$sort : {total : -1}} ); #... aggregate failed at Error (<anonymous>) at doassert (src/mongo/shell/assert.js:11:14) #... Error: command failed: { "errmsg" : "exception: Sort exceeded memory limit of 104857600 bytes, but did not opt in to external sorting. Aborting operation. Pass allowDiskUse:true to opt in.", "code" : 16819, "ok" : 0 }
解决方法
参考文档: Memory Restrictions
在MongoDB中,内排序大内存限制最大为100M,如果执行一个更大的排序,需要使用 allowDiskUse 选项来将数据写到临时文件来排序。
在查询语句中添加 allowDiskUse 选项:
db.bigdata.aggregate( [ {$group : {_id : "$range", total : { $sum : 1 }}}, {$sort : {total : -1}} ], {allowDiskUse: true} );
总结
以上所述是小编给大家介绍的解决MongoDB 排序超过内存限制的问题,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!
相关推荐
-
java操作mongodb基础(查询 排序 输出list)
复制代码 代码如下: package com.infomorrow.webroot; import java.util.List; import com.mongodb.BasicDBObject;import com.mongodb.DB;import com.mongodb.DBCollection;import com.mongodb.DBCursor;import com.mongodb.DBObject;import com.mongodb.MongoClient; public cl
-
解决MongoDB 排序超过内存限制的问题
对集合执行一个大排序操作(如聚合),出现以下错误:(测试版本:MongoDB 3.0.6) > db.bigdata.aggregate( {$group : {_id : "$range", total : { $sum : 1 }}}, {$sort : {total : -1}} ); #... aggregate failed at Error (<anonymous>) at doassert (src/mongo/shell/assert.js:11:14
-
MongoDB排序时内存大小限制与创建索引的注意事项详解
目录 参数internalQueryExecMaxBlockingSortBytes MongoDB 4.3的internalQueryMaxBlockingSortMemoryUsageBytes 排序字段如何加索引? 总结 线上服务的MongoDB中有一个很大的表,我查询时使用了sort()根据某个字段进行排序,结果报了下面这个错误: [Error] Executor error during find command :: caused by :: Sort operation used
-
解决js函数闭包内存泄露问题的办法
本文通过举例,由浅入深的讲解了解决js函数闭包内存泄露问题的办法,分享给大家供大家参考,具体内容如下 原始代码: function Cars(){ this.name = "Benz"; this.color = ["white","black"]; } Cars.prototype.sayColor = function(){ var outer = this; return function(){ return outer.color };
-
解决ie img标签内存泄漏的问题
代码: <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>IMG元素内存泄露测试</title> <script type="text/javascript" src="jquery-1.7.1.js"></script
-
C++解决大数组栈内存不够问题的方法分析
本文实例讲述了C++解决大数组栈内存不够问题的方法.分享给大家供大家参考,具体如下: 在c++中,我们可以直接通过下面的方式创建一个数组: const int N = 6; const int Nx = 100; const int Ny = 100; double phi[N][Nx][Ny]; double phi_b[N][Nx][Ny]; 但是,如果上述的Nx和Ny比较小还好说,一旦Nx和Ny很大时,就会报错,导致编译失败. 为解决这一问题,我们可以采用下面的几种方法来解决此问题: 1.
-
解决DataFrame排序sort的问题
如下所示: result = result.T.sort(['confidence','support'], ascending = False) 报以下错误: AttributeError: 'DataFrame' object has no attribute 'sort' 解决方式: sort_values()即可解决 以上这篇解决DataFrame排序sort的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.
-
解决tensorflow训练时内存持续增加并占满的问题
记录一次小白的tensorflow学习过程,也为有同样困扰的小白留下点经验. 先说我出错和解决的过程.在做风格迁移实验时,使用预加载权重的VGG19网络正向提取中间层结果,结果因为代码不当,在遍历图片提取时内存持续增长,导致提取几十个图片的特征内存就满了. 原因是在对每一张图片正向传播结束后,都会在留下中间信息.具体地说是在我将正向传播的代码与模型的代码分离了,在每次遍历图片时都会正向传播,在tensorflow中新增加了很多的计算节点(如tf.matmul等等),导致内存中遗留了大量的过期信息
-
Java C++解决在排序数组中查找数字出现次数问题
目录 1.题目 2.思路 3.c++代码 4.java代码 1.题目 统计一个数字在排序数组中出现的次数. 示例 1: 输入: nums = [5,7,7,8,8,10], target = 8 输出: 2 示例 2: 输入: nums = [5,7,7,8,8,10], target = 6 输出: 0 提示: 0 <= nums.length <= 10^5 -10^9 <= nums[i] <= 10^9 nums 是一个非递减数组 -10^9 <= target &l
-
Python帮你解决手机qq微信内存占用太多问题
目录 导语: 正文: glob 模块 glob方法 zlib.crc32 去重复 总结 导语: 哈喽,哈喽~大家有没有遇到过这种情况,手机用着用着没有内存了,一到设置里面一看. 微信和 QQ 10G! 啊这.....就离谱!好说,好说,设置中都有一个清除数据的功能,一键下去内存暂时都回来了,但是宝,你确定你微信和QQ中的信息都没用吗? 下面能小编就用 Python 写个删除重复文件的脚本清理这些微信和QQ空间.确保在清除内存的时候,你的重要信息还在. 正文: glob 模块 glob 模块非常
-
解决MongoDB占用内存过大频繁死机的方法详解
从MongoDB 3.4开始,默认的WiredTiger内部缓存大小是以下两者中的较大者: 50%(RAM-1 GB),或 256 MB 例如,在总共有4GB RAM的系统上,WiredTiger缓存将使用1.5GB RAM(). 相反,总内存为1.25 GB的系统将为WiredTiger缓存分配256 MB,因为这是总RAM的一半以上减去1 GB(). // 4GB 0.5 * (4 GB - 1 GB) = 1.5 GB // 1.25GB 0.5 * (1.25 GB - 1 GB) =
随机推荐
- AngularJS入门教程之数据绑定原理详解
- php str_getcsv把字符串解析为数组的实现方法
- Smarty实现页面静态化(生成HTML)的方法
- 读取Access数据库的vbscript代码打包下载
- 用hta[javascript]写的定时重启或关机的小工具
- jQuery遍历json中多个map的方法
- Java判断字符串为空、字符串是否为数字
- Python实现Linux的find命令实例分享
- VMware 10 中为CentOS 7添加多网卡并重命名
- JavaScript截取字符串的2个函数介绍
- Node.js事件循环(Event Loop)和线程池详解
- Laravel框架路由配置总结、设置技巧大全
- JavaScript判断表单提交时哪个radio按钮被选中的方法
- 从零学Python之引用和类属性的初步理解
- 通过先序遍历和中序遍历后的序列还原二叉树(实现方法)
- MySQL全文索引应用简明教程
- JSP由浅入深(2)—— 第一个JSP
- 设计简单的Android图片加载框架
- Android 中的注解详细介绍
- Android ScrollView显示到底部或任意位置实现代码