C#的小程序,占了10兆内存,正常吗??

suzhan 2002-08-15 09:13:45
我自己编的一个小程序,只有40来K,但在任务管理器里显示占用了10兆的内存,这是否正常?应该如何优化C#程序,使它占用内存尽量少呢??
...全文
51 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
Kummer 2002-08-16
  • 打赏
  • 举报
回复
其实内存占用大小和可执行文件的大小没有什么直接的联系,如果你一个程序在程序内分配一个很大的内存,可能程序就很小,而占用的内存就很多,

而且,一般情况下,分配内存和程序大小也不是正比关系,50K小程序占用5M,并不是说500K就会占50M,这里相当于又一个基数,不管大小都要加上去的
qqchen79 2002-08-16
  • 打赏
  • 举报
回复
从进程管理器里面看到的内存状况并不能反映你的程序实际使用的内存,因为进程管理器不能理解.net程序的GC机制。正确的方法是使用Performance Monitor监视.NET程序的内存状况。

另外,以下因素对程序的内存使用也有影响:
1) Debug/Release,尝试使用Release Build,可以减少内存使用(可能达到50%)
2)JIT程序通常需要一个相对比较大的启动工作集,但是当程序稳定以后,需要的内存并不多(比如UI程序,可以尝试再稳定以后将程序最小化,然后再恢复,察看内存)。

由于采用JIT机制,你的程序大小和运行时刻的内存需求没有直接的关系。小程序可能占用比较多的内存,翻过来,大的程序也不一定会占用很多内存空间。
suzhan 2002-08-16
  • 打赏
  • 举报
回复
多谢各位!
suzhan 2002-08-15
  • 打赏
  • 举报
回复
不行啊,现在我的程序56K,但内存使用已经飞涨到16兆了,只不过是一个用位图资源显示当前时间的时钟程序,不至于吧??
纪俊 2002-08-15
  • 打赏
  • 举报
回复
你的内存越大
应用程序用的内存就越多
这是为了充分发挥你的系统的潜力
不要怕
.net Framework本身就很大呀
用它解释程序占些内存是正常的
以后内存会越来越多的,呵呵
netspy 2002-08-15
  • 打赏
  • 举报
回复
正常.我也想知道怎么解决?
suzhan 2002-08-15
  • 打赏
  • 举报
回复
一个小小的程序就这样,以后如果开发大的程序,岂不是比WINDOWS占内存还多??应该会有个什么办法解决吧??不过我看连微软自带的例子也是这样!
cometsky 2002-08-15
  • 打赏
  • 举报
回复
我的也是,10k左右的程序,要占8-10m的内存。
wanwenguo 2002-08-15
  • 打赏
  • 举报
回复
是啊,c#的程序好像就是这样,关注!微软的人给个答复吧
mcsessx 2002-08-15
  • 打赏
  • 举报
回复
正常,java的也差不多,垃圾收集的程序都这样
yzkzero 2002-08-15
  • 打赏
  • 举报
回复
原来如此,刚赶过来想问这个问题,有人替先我问了:)
lesstif 2002-08-15
  • 打赏
  • 举报
回复
程序大了,内存增的也是可以接受的,没有问题,继续做
michaelsheyong 2002-08-15
  • 打赏
  • 举报
回复
这个很正常,。NET的东西都很占内存
aspritionisdead 2002-08-15
  • 打赏
  • 举报
回复
没关系啊,因为你的内存还够用,所以很多垃圾没有回收嘛,你多运行几个程序,看占用内存还有没有这么多?
taber 2002-08-15
  • 打赏
  • 举报
回复
没有那么恐怖。一万多行的代码也只占十几兆,完全运行起来后也只有二三十兆而已。

110,571

社区成员

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

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

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