Flashes (Alerts)
Abstract
WAS traditional v9.0.0.3以降、冗長ガーベッジ・コレクションがデフォルトでenableになります。また、9.0.0.2以下で「冗長ガーベッジ・コレクション」のチェック・ボックスをONにしている場合も、出力ファイルがnative_stderr.logから変更になり、世代管理されます。FixPack適用前後での、挙動の相違の有無と、元の挙動に戻す方法を説明します。
Content
【概要】
WebSphere Application Server traditional (WAS traditional) v9.0.0.3以降、冗長ガーベッジ・コレクションがデフォルトでenableになります。
また、9.0.0.2以下で「冗長ガーベッジ・コレクション」のチェック・ボックスをONにしている場合も、出力ファイルがnative_stderr.logから変更になり、世代管理されます。
FixPack適用前後での、挙動の相違の有無と、元の挙動に戻す方法を説明します。
【詳細】
当テクニカルフラッシュでは、WAS traditional 9.0.0.3未満の環境に、FixPack3以降を適用する場合の冗長ガーベッジ・コレクションがenableになることによる注意点について補足します。
FixPack3以降を適用すると、デフォルトで冗長ガーベッジ・コレクションがenableとなり、下記の汎用JVMが指定されます。
-Xverbosegclog:${SERVER_LOG_ROOT}\verbosegc.%seq.log,10,7000
-Xverbosegclog:第一引数で冗長ガーベッジ・コレクションのログ出力先を指定します。
デフォルトでは各JVMのログディレクトリ配下にverbosegc.<シーケンス番号>.logという名前で出力されます。
第2引数は循環ログのファイル数、第3引数はGCサイクルの数をそれぞれ示します。
-Xverbosegclog
https://www.ibm.com/support/knowledgecenter/en/SSYKE2_8.0.0/com.ibm.java.aix.80.doc/diag/appendixes/cmdline/xverbosegclog.html
冗長ガーベッジ・コレクションのログはdisableにすることも可能ですが、冗長ガーベッジ・コレクションのログは問題判別に有用であり、パフォーマンスへの影響はほとんどないことから、取得をおすすめいたします。
冗長ガーベッジ・コレクションの設定は、管理コンソールから「冗長ガーベッジ・コレクション」の設定にチェックを入れる方法と、汎用JVM引数で指定する方法の2つがあります。
メニューから以下の順で設定画面にアクセスして下さい。、
・ アプリケーション・サーバー
[サーバー]→[サーバー・タイプ]→[WebSphere Application Server]
対象のJVMを選択→[サーバー・インフラストラクチャー]→[Java およびプロセス管理]→[プロセスの定義]→[Java 仮想マシン]
・ ノード・エージェント
[システム管理]→[ノード・エージェント]
対象のノード・エージェントを選択→[サーバー・インフラストラクチャー]→[Java およびプロセス管理]→[プロセスの定義]→[Java 仮想マシン]
・ デプロイメント・マネージャー
[システム管理]→[デプロイメント・マネージャー]
[サーバー・インフラストラクチャー]→[Java およびプロセス管理]→[プロセスの定義]→[Java 仮想マシン]
「冗長ガーベッジ・コレクション」と「汎用JVM引数」の指定の組み合わせにより、FixPack3以降の適用後は、適用前との動作に差異が生まれるケースがあります。
以下はFixPack適用前の設定により、適用後の影響の有無についてまとめた表になります。
適用前と同じ動作にするには、以下の表を確認し、(*1)-(*3)の設定を変更します。アプリケーション・サーバー(オンデマンド・ルーターやWebSphereプロキシー・サーバーも含む)のみならず、
Network Deployment (ND) エディションをご利用の場合は、デプロイメント・マネージャーやノード・エージェントについても「冗長ガーベッジ・コレクション」がenableになりますので、ご注意ください。
FixPack適用前の設定 | FixPack適用による変化 | ||||
「冗長ガーベッジ・コレクション」の指定 | 「-verbose:gc」の指定 | 「汎用JVM引数」での-Xverbosegclogの指定 | FixPack適用前の状態 | FixPack適用後の状態 | |
| 1 | チェックなし | 指定なし | 指定なし | ログ出力なし | 要確認(*1) |
| 2 | チェックなし | 指定あり | 指定なし | native_stderr.logに出力 | native_stderr.logに出力 |
| 3 | チェック | 指定なし | 指定なし | native_stderr.logに出力 | verbosegc.%seq.logに出力(*2) |
| 4 | チェック | 指定あり | 指定なし | native_stderr.logに出力 | verbosegc.%seq.logに出力(*3) |
| 5 | チェック | 指定なし | 指定あり | -Xverbosegclogで指定したログに出力 | -Xverbosegclogで指定したログに出力(*4) |
| 6 | チェック | 指定あり | 指定あり | -Xverbosegclogで指定したログに出力 | -Xverbosegclogで指定したログに出力(*4) |
| 7 | チェックなし | 指定なし | 指定あり | -Xverbosegclogで指定したログに出力 | -Xverbosegclogで指定したログに出力 |
| 8 | チェックなし | 指定あり | 指定あり | -Xverbosegclogで指定したログに出力 | -Xverbosegclogで指定したログに出力 |
(*1) 「Java 仮想マシン」の設定を一度も変更したことがない場合は、FixPack 適用で、「冗長ガーベッジ・コレクション」にチェックが入ります。
デプロイメント・マネージャーやノード・エージェント、アプリケーション・サーバーとも同様です。
冗長ガーベッジ・コレクション・ログが不要な場合は、FixPack 適用後に設定を確認し、「冗長ガーベッジ・コレクション」にチェックが入っている場合は、チェックを外す必要があります。
特に「Java 仮想マシン」の設定を変更することが少ないと思われるデプロイメント・マネージャーやノード・エージェント は注意が必要です。
(*2) native_stderr.logにログを出力するには、「冗長ガーベッジ・コレクション」のチェックを外し、「汎用 JVM 引数」に -verbose:gc を指定します。
(*3) native_stderr.logにログを出力するには、「冗長ガーベッジ・コレクション」のチェックを外します。
(*4) JVMログでサーバー起動時にJVMの全引数を見ることができますが、その内容を見ると、-Xverbosegclog が2つ指定されている状態になります。
ただしFixPackを適用したことにより新たに設定される内容を、適用前から汎用JVM引数により指定していた値が上書きするため、影響はありませんが、
正しい状態にするためには「冗長ガーベッジ・コレクション」のチェックを外して適用により新たに設定された内容を削除し、-Xverbosegclog が重複して指定されないようにしてください。
設定変更手順の詳細や、プラットフォームがz/OSやSolaris、HP-UXの場合は、下記を参照ください。
【重要情報】WebSphere Application Server v9.0.0.3より冗長ガーベッジ・コレクションのデフォルト設定が変更されました。
http://www-01.ibm.com/support/docview.wss?uid=swg22003762
Historical Number
5593742B13C80B854925817C00324F22
Product Synonym
対象システム:WebSphere Application Server traditional
Was this topic helpful?
Document Information
Modified date:
25 September 2022
UID
jpn1J1013367