3

JRockitがインストールされたweblogic10.3.6を使用しています。OSとしてLinuxを使用する64ビットシステムを使用しています。adfアプリケーションがインストールされています。アプリケーションを使用しているユーザーは数人だけです。ただし、WLSがインストールされているサーバーマシンは毎週ダウンし続け、メモリ不足が発生します。そのため、毎週再起動する必要があります。調べてみると、ヒープサイズやその他のメモリ引数を調整することで、WebLogicをより安定させることができることがわかりました。

例:-Xms256m --Xmx512m MaxPermsize as 128m

私の質問は

  1. これらの議論は何ですか?

  2. これらの議論は互いにどのように関連していますか?

  3. これらの引数の値を決定するにはどうすればよいですか?

  4. メモリ不足の問題の他の原因は何でしょうか?

ありがとう、

Rakesh

4

2 に答える 2

6

XmsとXmxは、Javaプログラムが使用できる最小および最大ヒープ(基本的にはオブジェクトが格納されている場所)のサイズです。

この場合、Javaプログラムは、アプリケーションがデプロイされているWebLogicサーバーです。デフォルトでは、WebLogicサーバーによって設定されるXmsおよびXmxの値は256mおよび512mです。

アプリケーションには512MBを超えるヒープメモリが必要なようです。したがって、頻繁なOutOfMemoryエラーを回避するには、最大ヒープサイズ(Xmx)を増やす必要があります。

Xmxの新しい値は1024m以上にすることができます。あなた(またはパフォーマンスチームがある場合はパフォーマンスチーム)は、アプリケーションとさまざまなXmx値を使用して、アプリケーションに最適なものを決定するために、厳密なパフォーマンス、スケーラビリティ、信頼性テストを実行する必要があります。

メモリ引数(つまり、Xms、Xmx)の設定は、スクリプトレベルで実行できます(サーバーを起動するためにstartWebLogic.sh/startManagedWebLogic.shスクリプトを使用している場合)。

スクリプトレベルの変更:

  • setDomainEnv.shを開き、「IF USER_MEM_ARGS環境変数が設定されている」を検索し、次の行に挿入します。USER_MEM_ARGS="-Xms256m -Xmx1024m"
  • SERVER_NAME起動中のサーバーを保持する変数を使用して、この設定をサーバーごとに変更することもできます。たとえば、この設定を管理者以外のサーバーに対してのみ行うには、次のように挿入します。[ "${SERVER_NAME}" != "AdminServer" ] && USER_MEM_ARGS="-Xms256m -Xmx1024m"

コンソールの変更(管理コンソールを使用して管理対象サーバーを起動する場合のみ):

  • AdminConsole–>環境—>サーバー—> —>構成—> ServerStart—>引数:(TextArea)にログインします。
  • -Xms256m -Xmx1024mと入力して保存します。

ああ、ところでJRockitにはPermSizeの概念がありません。

于 2012-10-23T08:35:02.833 に答える
3

JVMパラメータの基本的な知識を取得します。

いくつかのJVMメモリパラメータをより高い値に設定するだけでは役に立ちませんが、エラーを将来に移すだけです。実際の問題を見つけるには、アプリケーションを分析する必要があります。JRockitには、非常に優れたメモリ分析ツールMissionControlが付属しています。デモをご覧ください。これは、アプリケーションのどの部分がメモリ不足エラーの原因であるかを確認するのに役立ちます。

于 2012-10-22T08:01:08.667 に答える