关于内存溢出遇到的两种情况
1.处理数据的程序或者服务是x86架构的,容易出现内存溢出。
因为x86的进程,最多允许内存4g、在这4g中又有2g是操作系统等、所以当你查询的数据量非常大的时候,非常容易内存溢出。
2.多线程 容易导致内存溢出(溢出原理细节我还不清楚)
我查询mongo数据量,数据按地区分类,我查到A地区有70000条数据,B地区有60000条数据。我要将两地数据导出成excel,A地导出成功、B地导出报错:内存溢出。
为什么会出现这个异常呢?
这是因为在MongoDB中B地数据的字段比A地多很多。MongoDB对于.net的这个版本的驱动的find方法 底层用的是Dictionary 的Add来获取满足条件的数据集合。但是Dictionary是.net中线程不安全的,MongoDB的驱动可能使用了多线程查询数据、把数据插入集合中,由于B地区的数据一行特别长,插入还没结束,线程跑去插另外一条数据去了,这导致集合内部的一个计数器计算错误,记的数少了,但是插入的这个行数是不会变的,导致行数超越了集合边界,于是报内存溢出。
参考文献:https://blog.csdn.net/liweiblog/article/details/52329740
转载于:https://www.cnblogs.com/wholeworld/p/10188216.html
关于内存溢出遇到的两种情况相关推荐
- delete不调用析构函数的两种情况
1. 所使用的类为预定义类 下面这段函数代码编译运行时没有问题的,不需要CPtr的定义 ---PtrUser.h class CPtr; // 预定义 class CPtrUser { public: ...
- 进一步封装axios并调用其读取数据(吐槽~在安卓9.0以下或者IOS10.X以下手机端H5页面不支持,在这两种情况下的系统只能使用ajax或者原生js请求后台数据)
注意!!!(修改于2020年7月18日) 在安卓9.0以下或者IOS10.X以下手机端H5页面不支持,在这两种情况下的系统只能使用ajax或者原生js请求后台数据 报错截图如下 报错内容: {&quo ...
- bartender外部表不是预期格式_批量合并Excel数据时“外部表不是预期格式”或“文件包含损坏数据”的两种情况...
很多朋友在用Power Query合并(汇总)Excel数据时,碰到过"DataFormat.Error:外部表不是预期格式"或"DataFormat.Error:文件包 ...
- 【数字信号处理】周期延拓 ( 周期延拓的两种情况 | L ≥ N | L ≤ N )
文章目录 一.周期延拓 二.周期延拓分两种情况 一.周期延拓 非周期的信号 通过 周期延拓 可以变为 周期信号 ; 周期延拓 : 非周期序列 构成 周期序列 的过程 ; 非周期序列 x(n)[0,N− ...
- 在origin 2018中同时画两个图,带errorbar和不带errorbar两种情况
在origin 2018中同时画两个图,带errorbar和不带errorbar两种情况 在一个图层里同时画两幅图 两幅图坐标可不一致 ①在当前图层中,选中图层左上角的 1 标志 ②右键 1 →图层内 ...
- Verilog HDL中容易生成锁存器的两种情况
在Verilog HDL的程序设计中,有两种情况会生成锁存器. 第一种情况 在always块中使用if语句,但是没有else,这会导致当条件不成立时,没有其他语句可执行,使得被赋值的寄存器一直保持不变 ...
- 修改db2管理服务器,创建DB2管理服务器的两种情况
DB2管理服务器在创建时分为创建一个和创建多个两种情况,下面就为您详细介绍这两种创建DB2管理服务器的情况,供您参考学习. 一.创建DB2管理服务器(只能创建一个) 1.首先创建管理服务组用户(可不建 ...
- MySQL笔记-解决...mysql.sock (13)(两种情况会产生此问题)
遇到这个mysql.sock(13)一般是两种情况. 一个是mysql.sock权限不够,最少要个775权限: chmod -R 775 /var/lib/mysql/ 如果嫌烦的话赋予777就可以了 ...
- java项目打jar包的两种情况
java项目打jar包的两种情况 本文介绍一下java项目打jar包时的两种情况各怎么操作 方法/步骤 1. 1 一.java项目没有导入第三方jar包 这时候打包就比较简单: 1. 首先在Ecl ...
- 最小成本排序:两种情况
最小成本排序:两个数交换,这两个数相加,一组数全部交换成有序之后,累加和就是成本. 如何求出最小的成本,有一点难度,主要在于有两种情况的分析,一种是每个元素交换到正确位置(会形成一些闭合的圆),进行计 ...
最新文章
- vue学生作业-图书管理系统
- 训练日志 2018.12.16
- 企业级备份方案系列PART3:SCDPM 2012备份/恢复Exchange2010
- heX:用HTML5和Node.JS开发桌面应用
- kernel笔记——库文件与系统调用
- apktook 反编译错误
- Spring Boot 你为什么这么耗内存?
- Delphi XE3 下载
- 自由软件、开源软件、免费软件之间的区别
- 多选框取值和默认勾选
- Java 操作 word 文档 (一)初识 word 文档
- openpcdet KeyError: ‘road_plane‘
- 在大数据认知观和真实性不一样的?
- 立创EDA极速入门(1)——熟悉PCB和立创EDA基本操作
- 华为AR系列路由器密码重置
- 【工具】1343- NVS —— js 实现的node版本管理工具
- 正则表达式内的常用的函数 2
- ZBrush: Stylized Sculpting ZBrush教程之程序化的雕刻 Lynda课程中文字幕
- python两点之间最短距离_寻找两点之间的最短距离Python
- 维恩贝特面试java后端开发面试经验