首页 文章

PS Perm Gen && Perm Gen JVM属性?

提问于
浏览
0

我需要一些信息:

我有2个带有TOMCAT 7.0.28和JAVA jdk1.7.0_05的redhat 6.1 Linux服务器

在192.168.1.20(TOM04)我有一个实例TOMCAT 7与MBEAN“java.lang:type = MemoryPool,name = Perm Gen”

在192.168.1.21(TOM01)我有1个实例TOMCAT 7与MBEAN“java.lang:type = MemoryPool,name = PS Perm Gen”

为什么MBEAN与“PERM GEN && PS PERM GEN”不一样是什么意思? (我想要PS Perm Gen无处不在)

http://img27.imageshack.us/img27/5803/tom01u.png

http://img839.imageshack.us/img839/7539/tom04.png

Java版本是相同的:java -version java版本“1.7.0_05”Java(TM)SE运行时环境(版本1.7.0_05-b06)

setnenv.sh 192.168.1.20(TOM04):

!/ bin / bash LD_LIBRARY_PATH = $ LD_LIBRARY_PATH:$ CATALINA_HOME / lib export LD_LIBRARY_PATH export JAVA_HOME = / usr / java / default JAVA_OPTS =“$ JAVA_OPTS -Xmx1024m -Xms512m -Xmn384m -server -XX:MaxPermSize = 384m”JAVA_OPTS =“$ JAVA_OPTS -DLOG_ROOT_PATH = / opt / applogs / INSTANCE01“JAVA_OPTS =”$ JAVA_OPTS -Dcom.ogige.environment = PRODUCTION“JAVA_OPTS =”$ JAVA_OPTS -XX:HeapDumpOnOutOfMemoryError“JAVA_OPTS =”$ JAVA_OPTS -XX:HeapDumpPath = / opt / applogs“ JAVA_OPTS =“$ JAVA_OPTS -XX:ParallelGCThreads = 2”JAVA_OPTS =“$ JAVA_OPTS -XX:SurvivorRatio = 8”export JAVA_OPTS = $ JAVA_OPTS

setenv.sh 192.168.1.21(TOM01):

!/ bin / bash LD_LIBRARY_PATH = $ LD_LIBRARY_PATH:$ CATALINA_HOME / lib export LD_LIBRARY_PATH export JAVA_HOME = / usr / java / default JAVA_OPTS =“$ JAVA_OPTS -Xmx1024m -Xms512m -Xmn384m -server -XX:MaxPermSize = 384m”JAVA_OPTS =“$ JAVA_OPTS -DLOG_ROOT_PATH = / opt / applogs / INSTANCE01“JAVA_OPTS =”$ JAVA_OPTS -Dcom.Ogige.environment = PRODUCTION“JAVA_OPTS =”$ JAVA_OPTS -XX:HeapDumpOnOutOfMemoryError“JAVA_OPTS =”$ JAVA_OPTS -XX:HeapDumpPath = / opt / applogs“ JAVA_OPTS =“$ JAVA_OPTS -XX:ParallelGCThreads = 2”JAVA_OPTS =“$ JAVA_OPTS -XX:SurvivorRatio = 8”export JAVA_OPTS = $ JAVA_OPTS

2 回答

  • 1

    PS =平行清除

    我不知道为什么我在两个主机上的情况不一样但是反正...我想把我的所有实例都用PS XXXX所以我只需要添加setenv.sh(JAVA_OPTS =“$ JAVA_OPTS -XX:UseParallelGC”)

  • 1

    默认情况下,64位JVM默认为Parallel GC,而32位JVM则默认为 . 这就是为什么你在一个上看到“PS Perm Gen”,另一个是常规的“Perm Gen” . 最有可能的是,其中一个使用64位JRE / JDK,另一个使用32位(即使两台机器都是64位)

    您当然可以手动指定GC选项,以便在两个环境中强制使用相同的GC ...或者,如果它们都是64位...只需验证您在两种环境中都使用64位JVM . (如果内存不是问题,在两种环境中都是32位)

    您可以通过在两个环境中运行“java -version”来验证这一点(假设您使用的是PATH JRE / JDK而不是JAVA_HOME指定的单独的一个,Tomcat可能会这样做)并且应该看到一个说“64位服务器VM”另一个会说“客户端虚拟机” . 至少,我可以用这种方式复制你的行为......

相关问题