首页 新闻 会员 周边 捐助

.Net 内存溢出System.OutOfMemoryException 怎么解决

0
悬赏园豆:20 [待解决问题]

我从数据库中取100W (大概800M左右)数据,服务器的内存可用量有6G多,他就报内存溢出,

我知道分批次取就不会出现这种问题了,我想问的是如何在不分批次的情况下,一次取这么多数据,不让他报内存溢出这个错误呢? 我在网上看到说配置 machine.config ,我配置了也不行,可能是我配置的 不正确吧 ,

<system.web>
<processModel autoConfig="true" 
timeout="Infinite"

idleTimeout="Infinite"

requestLimit="Infinite"
requestQueueLimit="5000"
restartQueueLimit="10"
memoryLimit="80"
webGarden="false"
cpuMask="0xffffffff"
userName="System"
password="autogenerate"
logLevel="Errors"
clientConnectedCheck="00:00:05"
comAuthenticationLevel="Default"
comImpersonationLevel="Default"
responseDeadlockInterval="00:03:00"
responseRestartDeadlockInterval="00:09:00"
maxWorkerThreads="25"
maxIoThreads="25"
serverErrorMessageFile=""
pingFrequency="00:02:30"
pingTimeout="00:00:20"  />
秋香姑娘请你不要紧张的主页 秋香姑娘请你不要紧张 | 初学一级 | 园豆:182
提问于:2015-10-15 17:06
< >
分享
所有回答(5)
0

是否包含递归,或者是游标,或者循环,是否释放,

Wesleyzen | 园豆:344 (菜鸟二级) | 2015-10-15 17:34

数据量50W的时候 就没问题, 就一个单表查询 ,我取100W数据 放在了一个DaTaTable  中

@终将成为码奴的愤青: 100W数据进入Datatable,已经是峰值了吧,我做最多也就10000条

支持(0) 反对(0) Wesleyzen | 园豆:344 (菜鸟二级) | 2015-10-17 14:31
0

你看看 iis 的应用程序池 的上限是多少?

小眼睛老鼠 | 园豆:2731 (老鸟四级) | 2015-10-15 18:39

 我的是控制台应用程序 ,与iis  应用程序池 有关系吗 

@终将成为码奴的愤青: 没有关系  不过应该有相关设置内存的位置 不过控制台应用程序我不熟 也没办反帮你了

支持(0) 反对(0) 小眼睛老鼠 | 园豆:2731 (老鸟四级) | 2015-10-17 15:10
0

使用DataReader。用完就扔掉~

幻天芒 | 园豆:37207 (高人七级) | 2015-10-16 08:51

我试试,看有用没 ,稍后 回答你  

0

最简单的办法是给服务器多插几条内存条

想什么呢.肯定是要分页啊..

吴瑞祥 | 园豆:29449 (高人七级) | 2015-10-16 09:26

服务器 可用 内存 有6个多G, 远远没有达到 峰值呢,肯定不是内存条不够的原因啊

0

不是那个内存哦,是运行内存

稳稳的河 | 园豆:4216 (老鸟四级) | 2015-10-16 12:04
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册