我做的客房端,单个运行需20M左右,同一台机器(256M)上运行10来个客户端后,每个客户端只有3M左右,应该说GC正常工作了吧!!!

解决方案 »

  1.   

    垃圾回收机制并不是完美的,有些时候还是需要自己显式释放内存。我原先也是用C++的,一用完内存立即释放,可用C#的时候就感觉有点点不适应……不过如果从开发效率来说的话,我觉得C#是在C++和VB、DELPHI之类的工具之间找到了一个很好的平衡点。
      

  2.   

    不知为何在程序启动后我手动调用GC.Collection()内存没有变化,但是最小化时内存又减少很多了。现在学乖了,在启动时就让它最小化一下,再恢复
      

  3.   

    C#是用来进行企业系统开发的,对企业系统的支撑环境来说,多CPU、1G以上内存只不过是标配而已。
      

  4.   

    GC.Collection()是个骗子,一个字节也没释放出来!!!!
      

  5.   

    垃圾回收,只是在内存告警时候,回收引用参数为0的对象,对于无用对象,根本不去回收,所以不要全指望.net的垃圾回收
      

  6.   

    现在都什么时代了?在汇编与C时代,我们为了几个字节的内存、提高CPU执行效率绞尽脑汁。但现在这方面的资源大了多少倍啊,不到万不得已,没必要为十几兆内存较劲了吧。GC怎么会是骗子呢?真的做过彻底的测试了吗?
      

  7.   

    拜托....难道不知道C#的程序运行的时候是需要.net clr这个虚拟机的支持的吗? 运行clr需要内存啊!!!
      

  8.   

    老大,50M很不错了,你拿java试试?那个java.exe起码占个80M。
    这50M应该是JIT所使用的,并不是单个程序就占这么多。