0

我得到 OutOfMemoryException。我通过Project->Properties->Run->VM Options增加了netbeans中jvm的内存到-Xms1600M -Xmx1600M。

我在 Windows 7 4GB RAM JDK 1.7 版 Netbeans 7.0.1 版上运行 32 位 java

但是当我跑步时,

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 创建失败的错误。

已编辑

正如建议所做的更改:

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 Creation failed 错误

帮助。

提前致谢

4

2 回答 2

2

我不太确定,但据我所知,如果您在 32 位环境中运行,则不能为 jvm 分配超过 1GB 的内存。

有关更多信息,请参阅此链接http://www.oracle.com/technetwork/java/javase/gc-tuning-6-140523.html

于 2013-01-25T14:18:55.623 回答
1

我卸载了所有东西(java和netbeans)并重新安装了所有东西(java和netbeans)。它仍然无法分配 -Xmx1400m 但分配 -Xmx1000m 并且运行良好。谢谢大家的努力。

于 2012-09-03T13:48:14.493 回答