C#在运行时内存不足是怎么原因,该怎么解决,哪位大佬可以指点一下吗?

weixin_43886835 2019-03-20 04:41:48
C#在运行时内存不足是怎么原因,该怎么解决,哪位大佬可以指点一下吗?
...全文
2719 28 打赏 收藏 转发到动态 举报
写回复
用AI写文章
28 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
display释放资源
Chasmれ 2019-03-23
  • 打赏
  • 举报
回复
声明的变量太大了,比如你声明一个 byte[] buffer=new byte[1024*1024*1024];有时就会出现这种情况
jayhai 2019-03-22
  • 打赏
  • 举报
回复
改成64位 运行...
太阳的星星 2019-03-22
  • 打赏
  • 举报
回复
可以加内存吗?
qq_44455111 2019-03-22
  • 打赏
  • 举报
回复
不错的问题
xiaoxiangqing 2019-03-22
  • 打赏
  • 举报
回复
运行什么地方需要这么大内存?
weixin_44818406 2019-03-22
  • 打赏
  • 举报
回复
貌似改成64位运行应该就可以了吧?
  • 打赏
  • 举报
回复
不知道是什么问题。。。。
平底锅锅锅 2019-03-21
  • 打赏
  • 举报
回复
有没有dll。C#一般会自动清理。
weixin_43886835 2019-03-21
  • 打赏
  • 举报
回复
谢谢,各位给的建议,我已经解决了
OrdinaryCoder 2019-03-21
  • 打赏
  • 举报
回复
1.是否因为加载的数据量过大(一般不会),将程序改成64位,已经是64位好像可以扩充虚拟内存,没弄过
2.有内存泄漏的地方,需要查代码看哪块有问题,针对性改
足球中国 2019-03-21
  • 打赏
  • 举报
回复
如果创建了数组多半是第二个(图片提示里的)。
xian_wwq 2019-03-21
  • 打赏
  • 举报
回复
应该不是总体内存不够,
最大可能是内存碎片太多,导致不可用
虽说c#有GC
但是如果消耗内存这么厉害,
还得自己构造对象池或中内存池
提供内存使用效率
倒地狂笑 2019-03-21
  • 打赏
  • 举报
回复
代码贴出来 看看
baidu_27549073 2019-03-21
  • 打赏
  • 举报
回复
1、检测有没有写错代码,写了死循环,调用某个方法时,无限调用自己,或for循环永远在循环中 2、拉取了大量数据 3、创建了大量对象(这个大部分不是问题的关键部分)
mk_lucifer 2019-03-21
  • 打赏
  • 举报
回复
这种情况一般是你程序写错了,自己查代码才知道。。。
牧歌ing 2019-03-20
  • 打赏
  • 举报
回复
有可能是你这个对象加载的数据太多了,某个对象一直在.Add()等类似操作最终也可能内存溢出
wanghui0380 2019-03-20
  • 打赏
  • 举报
回复
当0代对象要一个大内存的时候,微软会通知2代和3代回收,如果2代,3代有占用。尤其是3代的大对象占用(系统目前暂时不会移动3代大对象,据说以后会做优化),此时系统只能在“破碎内存空间”里找一点相对平整的空间出来给你分配,如果他找不到这样的空间,此时就会报那个“异常”
exception92 2019-03-20
  • 打赏
  • 举报
回复
找一篇关于“C# 内存管理”的文章看看,一般都会给出相应的方案。
exception92 2019-03-20
  • 打赏
  • 举报
回复
调试检查代码吧,看另一种情况是否调用了非托管的资源。
加载更多回复(8)

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧