我收到OutOfMemoryException。我通过Project-> Properties-> Run-> VM选项增加了netbeans中的jvm内存到-Xms1600M -Xmx1600M。
我正在运行32位java,在Windows 7上4GB内存JDK版本1.7 Netbeans版本7.0.1
但是当我跑步时,
System.out.println("MaxMemory: " + Runtime.getRuntime().maxMemory()/1024/1024);
System.out.println("FeeMemory: " + Runtime.getRuntime().freeMemory()/1024/1024);
System.out.println("TotalMemory: " + Runtime.getRuntime().totalMemory()/1024/1024);
我得到了
MaxMemory: 247
FeeMemory: 14
TotalMemory: 15
我尝试通过changinf netbeans.conf文件更改netbeans_default_options。
netbeans_default_options="-J-client -J-Xss2m -J-Xms32m -J-XX:PermSize=32m -J-Dapple.laf.useScreenMenuBar=true -J-Dapple.awt.graphics.UseQuartz=true -J-Dsun.java2d.noddraw=true"
到
netbeans_default_options="-J-client -J-Xss2m -J-Xmx1800m -J-XX:+UseConcMarkSweepGC -J-XX:+CMSClassUnloadingEnabled -J-XX:+CMSPermGenSweepingEnabled -J-Xms32m -J-XX:PermSize=32m -J-Dapple.laf.useScreenMenuBar=true -J-Dapple.awt.graphics.UseQuartz=true -J-Dsun.java2d.noddraw=true"
但是它给了我JVM创建失败的错误。
EDITED
建议做出改变:
netbeans_default_options="-J-client -J-Xss2m -J-Xmx1400m -J-Xms1400m -J-XX:+UseConcMarkSweepGC -J-XX:+CMSClassUnloadingEnabled -J-XX:+CMSPermGenSweepingEnabled -J-XX:PermSize=32m -J-Dapple.laf.useScreenMenuBar=true -J-Dapple.awt.graphics.UseQuartz=true -J-Dsun.java2d.noddraw=true"
仍然无法获得JVM创建错误
帮助。
提前致谢
答案 0 :(得分:2)
我不太确定,但正如我所知,如果你在32位环境下运行,你不能为jvm分配超过1GB的内存。
有关详细信息,请参阅此链接http://www.oracle.com/technetwork/java/javase/gc-tuning-6-140523.html
答案 1 :(得分:1)
我卸载了所有内容(java和netbeans)并重新安装了所有内容(java和netbeans)。它仍然无法分配-Xmx1400m但是分配-Xmx1000m并且运行良好。谢谢大家的努力。