[EM] Java Heap Size Settings For Enterprise Manager 12c

原文はこちら。
https://blogs.oracle.com/EMMAA/entry/java_heap_size_settings_for

以前発表した以下のエントリにおいて、12cR3を実行するOMSのJavaヒープサイズを増やす方法をご紹介しましたが、このエントリはそのアップデートをご紹介します。
Oracle Enterprise Manager 12c Configuration Best Practices (Part 1 of 3)
https://blogs.oracle.com/EMMAA/entry/oracle_enterprise_manager_12c_configuration
3部作の完全版はMy Oracle Supportの以下のDocumentからどうぞ(My Oracle Supportのアカウントが必要です)。
Oracle Enterprise Manager 12c Configuration Best Practices (Document ID 1553342.1)
https://support.oracle.com/rs?type=doc&id=1553342.1

Javaヒープサイズを増加するには

大きな企業の場合、OMSのために使用メモリ量を増やす必要があるかもしれません。この状況の症状の一つに、OMSの性能が「遅い」というものです。OMSにもっとメモリが必要だと判断した場合、Javaのヒープサイズパラメータを変更することでそれに対処しますが、このパラメータを徐々に変更することが重要で、サーバーのメモリを全て食いつぶさないように注意する必要があります。また、Javaはより多くのメモリがあると性能が向上する、というとは一概には言えません。
なお、Javaのヒープサイズのパラメータは以下のファイルに記述されています。
<MW_HOME>/user_projects/domains/GCDomain/bin/startEMServer.sh
推奨事項:
  • 250以上のエージェントを使っている場合、-Xmxパラメータを2GBまで増加させましょう。これはJavaヒープの最大値を指定するものです。エージェントの数が増えるにつれ、徐々に増加させます。
    注意事項
    • Oracleと相談せずにこのヒープサイズを4GB以上に増加しないでください。
    • 以下の例にあるように、次の行に含まれている–Xmxの値だけを変更して下さい。
      USER_MEM_ARGS="-Xms256m –Xmx1740m …(後続オプション)…"
    • XmsやMaxPermSizeの値は変更しないで下さい。
    • 以下の例のように、2カ所変更して下さい。2番目に出てくる値は、デバッグモード(訳注:WebLogic Serverの開発モードのことを指しています)で実行する場合に使われます。

Javaヒープサイズの設定変更手順[12cR3 (12.1.0.3)以前のバージョンの場合]

(変更前)
if [ "${SERVER_NAME}" != "EMGC_ADMINSERVER" ] ; then
  USER_MEM_ARGS="-Xms256m -Xmx1740m
 -XX:MaxPermSize=768M -XX:-DoEscapeAnalysis -XX:+UseCodeCacheFlushing 
-XX:ReservedCodeCacheSize=100M -XX:+UseConcMarkSweepGC -XX:+UseParNewGC 
-XX:+CMSClassUnloadingEnabled"

  if [ "${JAVA_VENDOR}" = "Sun" ] ; then
    if [ "${PRODUCTION_MODE}" = "" ] ; then
      USER_MEM_ARGS="-Xms256m -Xmx1740m
 -XX:MaxPermSize=768M -XX:-DoEscapeAnalysis -XX:+UseCodeCacheFlushing 
-XX:ReservedCodeCacheSize=100M -XX:+UseConcMarkSweepGC -XX:+UseParNewGC 
-XX:+CMSClassUnloadingEnabled -XX:CompileThreshold=8000 
-XX:PermSize=128m"
    fi
  fi
  export USER_MEM_ARGS
fi
(変更後)
if [ "${SERVER_NAME}" != "EMGC_ADMINSERVER" ] ; then
  USER_MEM_ARGS="-Xms256m -Xmx2560m -XX:MaxPermSize=768M
 -XX:-DoEscapeAnalysis -XX:+UseCodeCacheFlushing 
-XX:ReservedCodeCacheSize=100M -XX:+UseConcMarkSweepGC -XX:+UseParNewGC 
-XX:+CMSClassUnloadingEnabled"

  if [ "${JAVA_VENDOR}" = "Sun" ] ; then
    if [ "${PRODUCTION_MODE}" = "" ] ; then
      USER_MEM_ARGS="-Xms256m –Xmx2560m
 -XX:MaxPermSize=768M -XX:-DoEscapeAnalysis -XX:+UseCodeCacheFlushing 
-XX:ReservedCodeCacheSize=100M -XX:+UseConcMarkSweepGC -XX:+UseParNewGC 
-XX:+CMSClassUnloadingEnabled -XX:CompileThreshold=8000 
-XX:PermSize=128m"
    fi
  fi
  export USER_MEM_ARGS
fi

Javaヒープサイズの設定変更手順[12cR3 (12.1.0.3)]

emctl set property -name JAVA_EM_MEM_ARGS -value "<value>"
emctl stop oms -all 
emctl start oms
この値はemgc.propertiesにあり、OMSを開始する際に使われます。OMSが利用するプロパティであるため、このプロパティ設定にあたってはご注意下さい。適切に設定しない場合、OMSが立ち上がらなくなる可能性があります。以下はコマンドのサンプルです。
表現上改行していますが、コマンド発行時には1行で入力して下さい。
emctl set  property -name JAVA_EM_MEM_ARGS -value "-Xms256m -Xmx2048m
-XX:MaxPermSize=768M -XX:-DoEscapeAnalysis -XX:+UseCodeCacheFlushing
-XX:ReservedCodeCacheSize=100M -XX:+UseConcMarkSweepGC -XX:+UseParNewGC
-XX:+CMSClassUnloadingEnabled"

0 件のコメント:

コメントを投稿