2013-05-21 20 views
0

我需要一些信息:PS Perm Gen && Perm Gen JVM PROPERTIES?

我有2個6.1紅帽Linux服務器使用Tomcat 7.0.28和JAVA jdk1.7.0_05

在192.168.1.20(TOM04)我有1個實例TOMCAT 7在MBean「 java.lang中:類型=記憶池,名字=彼爾姆GEN」

在192.168.1.21(TOM01)我有1個實例TOMCAT 7 MBEAN 「java.lang中:類型=記憶池,名字= PS彼爾姆GEN」

爲什麼MBEAN不同於「PERM GEN & & PS PERM GEN」是什麼意思? (我想PS燙髮根到處)

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

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

Java版本是相同的:Java的版本的Java版本 「1.7.0_05」 的Java(TM)SE運行時環境(建立1.7.0_05 -b06)

setnenv.sh 192.168.1.20(TOM04):

/斌/慶典

LD_LIBRARY_PATH = $ LD_LIBRARY_PATH:$ CATALINA_HOME/lib目錄 出口LD_LIBRARY_PATH

出口JAVA_HOME =的/ usr/JAVA /默認

JAVA_OPTS =「$ JAVA_OPTS -Xmx1024m -Xms512m -Xmn384m -server -XX:MaxPermSize參數=384米 「 JAVA_OPTS = 」$ JAVA_OPTS -DLOG_ROOT_PATH = /選擇/ applogs/INSTANCE01「 JAVA_OPTS = 」$ JAVA_OPTS -Dcom.ogige.environment =生產的「 JAVA_OPTS = 」$ JAVA_OPTS -XX:+ HeapDumpOnOutOfMemoryError「 JAVA_OPTS =」 $ JAVA_OPTS -XX:HeapDumpPath =/opt/applogs「 JAVA_OPTS =」$ JAVA_OPTS -XX:ParallelGCThrea DS = 2" JAVA_OPTS = 「$ JAVA_OPTS -XX:SurvivorRatio = 8」

出口JAVA_OPTS = $ JAVA_OPTS

setenv.sh 192.168.1.21(TOM01):

!/斌/慶典

LD_LIBRARY_PATH = $ LD_LIBRARY_PATH:$ CATALINA_HOME/lib目錄 出口LD_LIBRARY_PATH

出口JAVA_HOME =的/ usr/JAVA /默認

JAVA_OPTS = 「$ JAVA_OPTS -Xmx1024m -Xms512m -Xmn384m -server -XX:MaxPermSize參數=384米」 JAVA_OPTS =「$ JAVA_OPTS -DLOG_ROOT_PATH = /選擇/ applogs/INSTANCE01「 JAVA_OPTS =」$ JAVA_OPTS -Dcom.Ogige。環境=生產的 「 JAVA_OPTS = 」$ JAVA_OPTS -XX:+ HeapDumpOnOutOfMemoryError「 JAVA_OPTS = 」$ JAVA_OPTS -XX:HeapDumpPath = /選擇/ applogs「 JAVA_OPTS = 」$ JAVA_OPTS -XX:ParallelGCThreads = 2「 JAVA_OPTS =」 $ JAVA_OPTS -XX:SurvivorRatio = 8"

出口JAVA_OPTS = $ JAVA_OPTS

+0

我有「遷移」我的TOMCAT實例從:192.168.1.20(TOM04)到192.168.1.21(TOM01) 而且一切都很好我有MBEAN 「[java.lang:type = MemoryPool,name = PS Perm Gen」,而不是「java.lang:type = MemoryPool,name = Perm Gen」 這個主機有什麼問題;'([192.168.1.20(TOM04)] – Canna

+0

PS =並行清除 我不知道爲什麼我在兩臺主機上不一樣,但無論如何...我想讓所有的實例都與PS XXXX,所以我只是添加在setenv.sh(JAVA_OPTS =「$ JAVA_OPTS -XX:+ UseParallelGC「) – Canna

回答

1

PS =並行清除

我不知道爲什麼我沒有兩個主機,但無論如何在同一...我想用PS X擁有我的所有實例XXX,所以我只是在setenv.sh中添加(JAVA_OPTS =「$ JAVA_OPTS -XX:+ UseParallelGC」)

+0

我的兩個系統有不同數量的RAM,我猜這會影響默認選擇的選項。被迫強迫它選擇一個。 –

1

默認情況下,64位JVM默認爲並行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位服務器虛擬機」,另一個會說「客戶機虛擬機」。至少,我可以複製你的行爲...

+0

192.168.1.20(TOM04): setenv.sh>出口JAVA_HOME =的/ usr /爪哇/默認 的/ usr /爪哇/默認 - > /usr/java/jdk1.7.0_05 蘇 - Tomcat的 -bash -4.1 $ java -version Java版本「1.7.0_05」 Java™SE運行時環境(內部版本1.7.0_05-b06) Java HotSpot™64位服務器虛擬機(內部版本23.1-b03,混合模式) – Canna

+0

192.168.1.21(TOM01): setenv.sh>出口JAVA_HOME =的/ usr /爪哇/默認 的/ usr /爪哇/默認 - > /usr/java/jdk1.7.0_05 蘇 - Tomcat的Java TM版本「1.7.0_05」 Java™SE運行時環境(版本1.7.0_05-b06) Java HotSpot™64位服務器VM(版本23.1-b03,混合模式) 對不起,格式錯誤 – Canna

+0

通常JAVA_HOME與命令行運行「java」時運行的內容無關,但我相信Tomcat會尊重它。因此,從命令行獲取這個數據不是一個好的指標。我看到您正在查看JConsole中的MBean ...查看虛擬機摘要選項卡,左上角(第二個字段)「虛擬機」也會指示版本。在你的情況下,驗證兩者都是相同的值。我的猜測是,一個使用32位客戶端虛擬機 –

相關問題