问题描述
如题,望大神指点一二
解决方案
解决方案二:
不是你有100M内存,然后你这一个程序就可以用100M内存的……
解决方案三:
异步加载,当你下拉你的滚动条时,每下拉N个像素,则多请求一些数据加在Table末尾。其实还是分页的逻辑。数据太多了就一次不要加载完呗。不然还能怎么样?
解决方案四:
引用1楼starfd的回复:
不是你有100M内存,然后你这一个程序就可以用100M内存的……
那怎么能设置一下,让使用内存达到最大化呢,现在我遇到的问题就是,服务器的可用内存大概有6个G,实际上我取数据量超过400M就会出现内存溢出
解决方案五:
这个其实还要看你的数据对象是什么?在做什么操作。比如我就遇到过,对3、4百兆数据的DataTable做XML序列化,内存可以飙到1个多G(据说这个是.NETFramework自带XML序列化的一个小BUG)
解决方案六:
引用1楼starfd的回复:
不是你有100M内存,然后你这一个程序就可以用100M内存的……
我也不指望说6个G能够全部使用,起码让使用1个G也行
解决方案七:
引用4楼iAaronHua的回复:
这个其实还要看你的数据对象是什么?在做什么操作。比如我就遇到过,对3、4百兆数据的DataTable做XML序列化,内存可以飙到1个多G(据说这个是.NETFramework自带XML序列化的一个小BUG)
我是直接使用的DataTable向txt文件写数据,
解决方案八:
引用6楼NetVS的回复:
Quote: 引用4楼iAaronHua的回复:
这个其实还要看你的数据对象是什么?在做什么操作。比如我就遇到过,对3、4百兆数据的DataTable做XML序列化,内存可以飙到1个多G(据说这个是.NETFramework自带XML序列化的一个小BUG)我是直接使用的DataTable向txt文件写数据,
那你是写之前程序占400M内存,然后写TXT,然后报错了?如果是这样,那你要看跟一下,看是什么操作导致内存飙升。还有,写文件的缓存是不是太大,可以考虑缓存设小一点,或者直接写文件,不用缓存。
解决方案九:
你有1G可用内存,这时有一个操作要申请2G的内存,就会出这个错你应该调试下这个错误发生的位置,为何会要这么多内存.net的集合(比如List)在自动增长时一般会要求当前容量的2倍如果可以的话,使用固定长度或者自定义的集合
解决方案十:
估计不.net的问题。可能是你的程序写有的问题。微软的东西,还是比较靠谱的。
时间: 2024-08-21 10:11:42