我不确定这是否是一个有效的 stackoverflow 问题!
我已经在 Windows XP 计算机上安装了 NetBeans。然而,这台机器的内存非常有限。由于 Netbeans 使用大部分内存,我想限制 Netbeans 使用的内存大小。
据我所知page是我可以在配置文件中使用 -J-Xmx256m
开关或 –J-XX:MaxPermSize
开关:./etc/netbeans.conf 。
所以我把它改成这样:
netbeans_default_options="-J-client -J-Xss2m -J-Xms32m -J-XX:MaxPermSize=256m -J-XX:PermSize=32m -J-Dapple.laf.useScreenMenuBar=true -J-Dapple.awt.graphics.UseQuartz=true -J-Dsun.java2d.noddraw=true -J-Dsun.java2d.dpiaware=true -J-Dsun.zip.disableMemoryMapping=true"
我尝试了这两个选项,但是 Netbeans 要么不启动,要么启动后不支持新策略。当它启动时,我看到任务管理器中的 netbeans 内存增加到超过指定的 256MB。
我做错了什么?
最佳答案
Java 中有更多类型的内存。使用MaxPermSize,您可以增加永久代内存的最大值,该内存用于存储有关您的类的“静态”信息。您想要增加“动态”数据的内存。这就是堆,为此使用 -J-Xmx。您可以使用 jvisualvm 验证您的设置。
因此,要增加堆,请尝试以下操作:
-J-Xmx512m
如果您使用的是 32 位 Java,您的内存在某种程度上会受到限制,我认为是 1g。如果您使用无效(太大)的设置,Netbeans 将不会启动。
Netbeans 在其内存显示中显示的内存是 PermGenSpace 和 Heap 的相加。再次强调:查看 jvisualvm 来控制每种内存类型的使用设置。
关于java - 使用 Windows 的 NetBeans 中忽略的最大内存大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21875171/