本帖最后由 zy178152529 于 2011-07-25 23:05:52 编辑

解决方案 »

  1.   

    5、加大JVM的非堆内存
    打开 myeclipse.ini
    -startup
    ../Common\plugins\org.eclipse.equinox.launcher_1.0.101.R34x_v20081125.jar
    --launcher.library
    ../Common\plugins\org.eclipse.equinox.launcher.win32.win32.x86_1.0.101.R34x_v20080731
    -clean
    -configuration
    configuration
    -vm
    C:\Users\lenovo\AppData\Local\Genuitec\Common\binary\com.sun.java.jdk.win32.x86_1.6.0.013\jre\bin\client\-vmargs
    -Xmx384m
    -XX:MaxPermSize=384m
    -XX:ReservedCodeCacheSize=96m
    以上是我的myeclipse.ini,需要修改是-Xmx,-XX:MaxPermSize,-XX:ReservedCodeCacheSize,
    将这三项的值调大,但并不是越大越好,曾经在相同的条件下做过测试(内存2GB),-Xmx,-
    XX:MaxPermSize的值为384m时比512m时要快(视具体的计算机而定),
    -Xmx,-XX:MaxPermSize的值设为同样大小且两者之和不能超出你的计算机本身的内存大小
      

  2.   

    嗯,楼上说的是大。调大maxMemory是一种能避免一些内存溢出的办法。但是无奈,需求需要一种对于内存监控的功能,想了很久,觉得只有抛出异常才能解决。或者线程间能够即时交互或许也行。