Java eclipse下tomcat中的堆/PermGen设置问题
一位同事在Eclipse/Tomcat运行参数中有以下设置,并一直抱怨堆内存不足:Java eclipse下tomcat中的堆/PermGen设置问题,java,eclipse,garbage-collection,jvm,permgen,Java,Eclipse,Garbage Collection,Jvm,Permgen,一位同事在Eclipse/Tomcat运行参数中有以下设置,并一直抱怨堆内存不足: -XX:PermSize=512M -XX:MaxPermSize=1024M -Xmx1024m 如果我理解正确,则max PermGen和max Heap都是1 GB。由于PermGen是堆的一个特殊部分,这相当于将所有堆分配给PermGen。这是正确的吗 也许我是对的。这会导致问题吗 佩尔,我的理解不正确。你说得对。>512MB用于PermGen和启用GC日志记录,一旦Eclipse再次崩溃,您将看到问题
-XX:PermSize=512M
-XX:MaxPermSize=1024M
-Xmx1024m
如果我理解正确,则max PermGen
和max Heap
都是1 GB。由于PermGen
是堆的一个特殊部分,这相当于将所有堆分配给PermGen
。这是正确的吗
也许我是对的。这会导致问题吗
佩尔,我的理解不正确。你说得对。>512MB用于PermGen和启用GC日志记录,一旦Eclipse再次崩溃,您将看到问题的原因,日志将显示PermGen的大小 GC日志记录:
-XX:+UnlockDiagnosticVMOptions-XX:+LogVMOutput-XX:LogFile=jvm.log-XX:+HeapDumpOnAutofmemoryError-Xloggc:GC.log-XX:+PrintGCTimeStamps-XX:+PrintGCDetails-showversion
考虑到PermGen是否是堆的一部分,这实际上取决于您正在运行的热点的版本。GC算法控制PermGen的大小,因此即使您将MAX设置为1GB,它可能永远不会变大,并且由于其他一些问题,您仍然可以获得OOM