0

いくつかの情報が必要です:

TOMCAT 7.0.28 と JAVA jdk1.7.0_05 を搭載した Redhat 6.1 Linux サーバーが 2 台あります。

192.168.1.20(TOM04) には、MBEAN "java.lang:type=MemoryPool,name=Perm Gen" を持つ 1 つのインスタンス TOMCAT 7 があります。

192.168.1.21(TOM01) には、MBEAN "java.lang:type=MemoryPool,name=PS Perm Gen" を持つ 1 つのインスタンス TOMCAT 7 があります。

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):

!/ビン/バッシュ

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"

JAVA_OPTS=$JAVA_OPTS のエクスポート

setenv.sh 192.168.1.21(TOM01):

!/ビン/バッシュ

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"

JAVA_OPTS=$JAVA_OPTS のエクスポート

4

2 に答える 2

1

PS = 並列スカベンジ

2つのホストで同じでない理由はわかりませんが、とにかく...すべてのインスタンスをPS XXXXで使用したいので、 setenv.sh ( JAVA_OPTS="$JAVA_OPTS -XX:+UseParallelGC" を追加するだけです) )

于 2013-05-21T15:56:37.800 に答える
1

64 ビット JVM はデフォルトで Parallel GC に設定されますが、32 ビット JVM はそうではありません。そのため、一方に「PS パーマ ゲン」、もう一方に通常の「パーマ ゲン」と表示されています。ほとんどの場合、そのうちの 1 つは 64 ビットの JRE/JDK を使用しており、もう 1 つは 32 ビットを使用しています (両方のマシンが 64 ビットであっても)。

もちろん、GC オプションを手動で指定して、必要に応じて両方の環境で同じ GC を強制することもできます...または、両方が 64 ビットの場合は...両方の環境で 64 ビット JVM を使用していることを確認してください。(または、メモリが問題にならない場合は、両方の環境で 32 ビット)

両方の環境で「java -version」を実行することでこれを確認できます (Tomcat が可能性がある JAVA_HOME で指定された別の環境ではなく、PATH JRE/JDK を使用していると仮定します)。もう1つは「クライアントVM」と表示されます。少なくとも、この方法であなたの行動を再現できます...

于 2013-05-21T17:17:56.620 に答える