我有4G内存(64位)。目前,我在Eclipse IDE(JUNO)中使用默认内存设置。当我在JBoss 7.1
部署应用程序时出现Out Of Memory
错误。我想知道memory ratio
和heap memory
的{{1}}?比方说,如果我为堆内存设置1G内存,permgen内存将是512M,只是示例。如果是这样,permgen将占堆内存的50%。你能为他们提供内存分配方式吗?
目前eclipse.ini
permgen memory
原因:
-startup
plugins/org.eclipse.equinox.launcher_1.3.0.v20120522-1813.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.200.v20120522-1813
-product
org.eclipse.epp.package.jee.product
--launcher.defaultAction
openFile
--launcher.XXMaxPermSize
512M
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
512m
--launcher.defaultAction
openFile
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Dhelp.lucene.tokenizer=standard
-Xms128m
-Xmx1024m
答案 0 :(得分:2)
这取决于您所看到的典型内存使用情况。当你得到一个内存不足的错误时,应该说它是用于perm gen还是堆空间;相应调整。
编辑:如果它说你没有堆空间,那么你想要增加Xmx1024m。也许试试Xmx2g。
我还假设它是Eclipse,你看到了OutOfMemoryError?如果它实际上用于JBoss,那么eclipse.ini将无法帮助,因为当你部署到JBoss时,它将是一个不同的VM。在这种情况下,您需要增加$ JBOSS_HOME / bin / appclient.conf中的Xmx值
答案 1 :(得分:1)
我想知道堆内存和permgen内存的内存比率吗?
没有固定的比率。堆内存和permgen内存大小是使用不同的参数独立指定的。
我的建议是单独保留permgen设置...除非OOME消息告诉你已经用完了permgen内存。