Oracle® Fusion Middleware Oracle Exalogic Elastic CloudのためのWebLogic Server 12.1.3の管理 12c (12.1.3) E59405-04 |
|
前 |
次 |
WebLogic Server 12.1.3は、Cooperative Memory Management (CMM)を使用して、WebLogic Serverリソースによるメモリーの有効活用を促進します。
この章の内容は次のとおりです。
Cooperative Memory Management (CMM)は、WebLogic Serverリソースでマシン全体のメモリー使用率に基づいてメモリー使用率を調整できるようにすることにより、メモリーの有効活用を促進するExalogic Elastic Cloud環境のWebLogic機能です。
CMMを有効にすると、オペレーティング・システムのメモリー使用量が監視され、相対的な不足レベルがメモリー不足エージェントによってパブリッシュされます。パブリッシュされる不足レベルは、0(不足なし)から10(最高の不足レベル(重大なオーバーロード))の間の範囲です。メモリー不足リスナーを登録したWebLogic Serverリソースは、INFOメッセージをサーバー・ログに書き込み、使用可能なメモリーの使用率を上下するためにサーバー・リソースを適切に管理して、メモリー不足レベルの変更に対応します。
高いまたは増加しているメモリー不足条件では、メモリー不足エージェントに登録されたリソースはサーバーのオーバーロードを防ぐためにメモリー使用率を下げる次のような方法を実装します。
キャッシュのサイズの削減
圧縮可能なメモリー内データの圧縮
新しい処理の拒否
一時的にパフォーマンスを低下させてシステムのスラッシングを削減し、正常なサーバー・リカバリを実装します。
エージェントによって測定されたメモリー不足が変更されるまで、指定された不足レベルでサーバーが実行するアクションが有効なままです。たとえば、データ・ソース・メモリー不足リスナーが4の不足を受け取った場合、使用可能な文キャッシュ・サイズが60パーセントに減ります。文キャッシュの実際の使用量を75パーセントに改善するには、メモリー不足エージェントによって報告されたメモリー不足レベルを2に変更する必要があります。「デフォルトのメモリー不足キャッシュ・サイズの重み」を参照してください。
CMMは、Exalogic Elastic Cloud環境でのみ使用可能です。『ライセンス情報』のExalogic Elastic Cloudソフトウェアに関する項を参照してください。
環境でCMMを有効化する手順は次のとおりです。
${DOMAIN_HOME}/bin/setUserOverrides.sh
スクリプトでexport SAVE_MEMORY=true
を設定します。スクリプトが存在しない場合、${DOMAIN_HOME}/bin/setUserOverrides.sh
スクリプトを作成します。次に例を示します。
#!/bin/sh . . . # The following flag is used to enable CMM export SAVE_MEMORY=true . . .
環境のすべてのサーバーがExalogicの最適化を使用していることを確認します。「Exalogicの最適化の有効化」を参照してください。
環境内のすべてのサーバーを再起動して、変更を有効にします。
startWebLogic.sh
スクリプトが実行されると、setDomainEnv.sh
スクリプトを取得し、setUserOverrides.sh
スクリプトが存在するかどうかを確認します。setUserOverrides.sh
が存在する場合、export SAVE_MEMORY=true
が初期化プロセスの一部として含まれます。
setDomainEnv.sh
スクリプトが完了し、制御をstartWebLogic.sh
スクリプトに戻した後、処理を続行します。saveMemory.sh
スクリプトは、デフォルトでWebLogic Server製品インストールに含まれています。CMMを有効にする設定が含まれます。次に例を示します。
文キャッシュ・サイズと接続プールの縮小に対する構成可能な調整を行って、メモリー不足イベントに対応するようWebLogic Serverデータ・ソースを構成できます。
ゼロ以外のメモリー不足状態の変更を受け取った場合、メモリー不足レベルとキャッシュ・サイズの割合の構成されたマッピングに従ってすべてのデプロイされたデータソースに対して準備された文キャッシュが調整されます。デフォルトでは、WebLogicデータソースには、プールされたJDBC接続ごとに10の文キャッシュ・サイズが設定されます。
注意: キャッシュ・サイズを0(ゼロ)に設定して文キャッシュを無効化しているか、Oracle JDBCドライバ文キャッシュを使用しているデータソース構成は、メモリー不足イベントの影響を受けません。 |
次の表の説明に従って、キャッシュ・サイズの重みに対するデフォルトのメモリー不足レベルが段階的に設定されます。
表4-1 デフォルトのメモリー不足キャッシュ・サイズの重み
レベル | キャッシュ・サイズ(%) |
---|---|
0 |
100 |
1 |
90 |
2 |
80 |
3 |
70 |
4 |
60 |
5 |
50 |
6 |
40 |
7 |
30 |
8 |
20 |
9 |
10 |
10 |
0 |
次のJavaシステム・プロパティを設定して、デフォルトの文キャッシュの重みをサーバー開始時間に変更できます。
-Dweblogic.jdbc.cmm.statementCacheWeights=weights
weightsは、形式level=percent reduction、level=percent reduction...の1つ以上の名前/値ペアです。
この表記法を使用する場合、デフォルトの重みは次のとおりです。
1=10,2=10,3=10,4=10,5=10,6=10,7=10,8=10,9=10,10=10
パーセンテージが累積されるため、合計を100以下にする必要があります。各レベルのパーセンテージの値は、構成されたキャッシュ・サイズを減らす割合を示します。
不足レベルがプール縮小しきい値(デフォルトは8)を超えているメモリー不足レベルを受け取った場合、WebLogic Serverはすべてのデプロイされたデータソースに対して縮小操作を発行します。縮小操作アクションは、メモリー不足レベルがしきい値を超えるメモリー不足レベル・イベントごとに開始される1回かぎりのイベントです。
次のJavaシステム・プロパティを設定して、デフォルトの縮小しきい値をサーバー開始時間に変更できます。
-Dweblogic.jdbc.cmm.shrinkThreshold=value
valueは0から10の間の整数です。