在JBoss上使用Liferay时出现Java垃圾收集问题:GC多次执行
在由Liferay 6.2和JBoss 6.4.5组成的环境中,我们遇到了垃圾收集问题 服务器运行平稳,GC进程通常执行良好,但在某一点上,GC进程开始执行多次: 我们在16GB内存服务器上运行,内存配置如下: JAVA_OPTS=“$JAVA_OPTS-Xms6144m-Xmx6144m-XX:MetaspaceSize=512m-XX:MaxMetaspaceSize=2048m” 未检测到内存泄漏 有人能帮我们解释一下为什么GC会出现这样的行为吗在JBoss上使用Liferay时出现Java垃圾收集问题:GC多次执行,java,jboss,garbage-collection,liferay-6,Java,Jboss,Garbage Collection,Liferay 6,在由Liferay 6.2和JBoss 6.4.5组成的环境中,我们遇到了垃圾收集问题 服务器运行平稳,GC进程通常执行良好,但在某一点上,GC进程开始执行多次: 我们在16GB内存服务器上运行,内存配置如下: JAVA_OPTS=“$JAVA_OPTS-Xms6144m-Xmx6144m-XX:MetaspaceSize=512m-XX:MaxMetaspaceSize=2048m” 未检测到内存泄漏 有人能帮我们解释一下为什么GC会出现这样的行为吗 非常感谢您。查看图表,我假设您正在Ho
非常感谢您。查看图表,我假设您正在HotSpot JVM中使用ParallelGC 如果实时数据集不适合旧的空间大小,ParallelGC将从分代(年轻/旧)切换到单空间操作模式 在单个空间中,每个集合都是完整的GC
解决办法是增加旧空间。可以通过增加堆大小或减少新大小(例如
-Xmn1g
选项)来完成 java版本?GC collector?java版本“1.8.0_121”java(TM)SE运行时环境(构建1.8.0_121-b13)java热点(TM)64位服务器虚拟机(构建25.121-b13,混合模式)Alexey,是,我们正在使用并行GC:$java-XX:+printcompresselineflags-version-XX:InitialHeapSize=255368576-XX:MaxHeapSize=4085897216-XX:+printcompresselineflags-XX:+UseCompressedClassPointers-XX:+UseCompressedOops-XX:+useCompressedJava版本“1.8.0_121”java(TM)SE运行时环境(构建1.8.0_121-b13)java热点(TM)64位服务器虚拟机(构建25.121-b13,混合模式)