2017-02-08 3 views
-1

1つのjvm A、B、Cに3つのアプリがデプロイされているとします。アプリAに5 Gbを割り当てることはできますか? ここでは、Linux上でWebLogicアプリケーションサーバーを使用しています。JVM上の各アプリケーションにヒープサイズを割り当てることはできますか?

+0

どのようなアプリケーションのWebアプリケーションまたはデスクトップアプリケーションですか?あなたが使用しているサーバーがWebアプリケーションの場合アプリケーションがサーバーで実行されている場合は、サーバーでこの構成を設定できるWebアプリケーションを意味します –

+1

1.どのようなアプリケーションですか?サーブレットコンテナでJEE? 2.ドッカーについて読む。それほど単純ではないが、リソースの制御が強い –

+0

[アプリケーションごとに1つのJVMを持つ理由](http://stackoverflow.com/questions/13539132/why-have-one-jvm-per-application) – Keith

答えて

0

JVMの内部に入る暗いブードゥーを試していない限り、あなたは立ち往生していると思います。私は絶対に、を除いて、その道を行くことをお勧めしませんする必要があります。いずれにしても

は、ここでのWebLogicはヒープ領域の面で提供するものです(警告:これは一般的にCLIは、アプリケーションを立ち上げたのと同じ基本的な概念です)

https://blogs.oracle.com/imc/entry/weblogic_server_performance_and_tuning

各WebLogic Serverインスタンスは、独自に実行されます専用Java仮想 実行時環境であるマシン(JVM)。任意のドメイン内のすべての管理サーバー は、JVM内で実行されます。 Managed サーバーについても同様です。 WebLogic Serverは、同じランタイム環境と リソースを使用するさまざまな種類のアプリケーションおよびサービス( )に使用できます。 Oracle WebLogicには、2つの異なるJVM、HotSpot、および JRocketが付属していますが、使用するJVMを選択できます。

JVM自体を最適化するように設計された、しかし、それはまた、小さな変更を加えるために、いくつかの 起動オプションを提供します。 のメモリとガベージコレクションのデフォルト値があります。実際には、 は、JVMによって提供されるデフォルト値に固執するのではなく、 アプリケーションに基づいてこれらの値をカスタマイズして、 パラメータで小さな変更を加えることでパフォーマンスが大幅に向上する を生成できます。ガベージコレクタにゴミを削除する方法を教えてもらうと、 世代(javaオブジェクトの場合)またはヒープの場合に割り当てる領域の量をJVMに伝えることができます。ガベージの間に、 コレクションは、JVMまたはランタイム内で他のプロセスが実行されないことを覚えておいてください。 のスループットに影響を与える可能性のあるSTOP THE WORLDと呼ばれる があります。

各JVMは、Javaオブジェクトのための ストレージであるヒープメモリと呼ばれる独自のメモリ・セグメントを持っています。これらのオブジェクトは、それはもはやから到達できない場合、Javaオブジェクト がガベージ考えられているなど、若い世代(最近のオブジェクトを作成した)か、古い世代 (ある程度まで生きてきた生き残ったオブジェクト)のような彼らの 年齢、に基づいてグループ化することができます実行中のプログラムのどこでも 各世代にはヒープ内に独自のメモリセグメント があります。このセグメントがいっぱいになると、ガベージコレクタ は、ガベージとしてマークされたすべてのオブジェクトを削除して領域を作成します。 旧世代の領域がいっぱいになると、JVMは大量の コレクションを実行して、未使用のオブジェクトを削除し、領域を再利用します。 メジャーガベージコレクトにはかなりの時間がかかり、 はシステムのパフォーマンスに影響します。

次に、ヒープスペースを切り替えるための特定のパラメータについて説明します。

関連する問題