2.2.4 Java Service Manager の開始 (STRJSM)
JSM サブシステムを再起動する必要があります。
各 JSM インスタンスには、独自の Java 仮想マシン (JVM) があります。
JSM インスタンス JVM の現在の作業ディレクトリは、インスタンス・パスに設定されます。
CLASSPATH は、インスタンス・クラスのサブディレクトリと、jar サブディレクトリにあるすべての *.jar ファイルファイルを使用して作成されます。
別のインスタンス・ディレクトリ、別のインターフェースやポートなどを使用して、複数の Java Service Manager を開始できます。
JSM インスタンスが開始すると、次のサブディレクトリがインスタンス・ディレクトリの下にあるかどうかがチェックされます。
- classes
- jar
- properties
- system
- temp
- trace
Java Service Managerは、JSMクライアントとは別のコンピュータで実行できます。
Java Service Managerを開始するオプションを選択すると、以下の入力が求められます。
INSTANCE
インスタンスのデフォルト値は*DEFAULTです。これが推奨される値です。デフォルト・インスタンスは JSMMGRDTA データ・エリアの 1 から 50 桁位置で定義されます。
VERSION
JVMバージョンのデフォルト値は*DEFAULTです。これが推奨される値です。有効な値は、現在サポートされているバージョンのJVMに基づきます。
OPTION
オプションのデフォルト値は*DEFAULTです。有効な値は、*VERBOSE、*VERBOSEGC、*NOCLASSGCです。
OPTIONキーワードの詳細については、i5/OS JAVA (Javaプログラムの実行)コマンドを参照してください。
GCHINL
最初のヒープ・サイズです。
指定できる値の範囲は、256 ~ 240000000 キロバイドです。
デフォルトは 131,072 キロバイト、または 128M です。
IBM Technology for Java では、GCHINL キーワードの値は –Xms 値になります。
GCHINLキーワードの詳細については、i5/OS JAVA (Javaプログラムの実行)コマンドを参照してください。
GCHMAX
最大のヒープ・サイズです。
指定できる値の範囲は、256 ~ 240000000 キロバイドです。
GCHMAX 値によって、JVM の最大ヒープ・サイズが決まります。デフォルト値は *DFT です。
IBM Technology for Java の GCHMAX *DFT値は 2G です。
IBM Technology for Java では、GCHMAX キーワードの値は –Xmx 値になります。
2G というデフォルト値は、64 ビット Java 環境には少なすぎるため、増やす必要があります。
ただし、最大値の 240000000 は使用しないでください。IBM Technology for Java コマンドは、この値を *NOMAX 値として扱い、デフォルトで値が 2G に戻されます。
IBM Technology for Java は 256M セグメントにメモリを割り当てます。
–Xmx 値は 256M の倍数になるため、割り当てられたメモリは無駄になることがありません。
32 ビット JDK は 4096M (16 セグメント) の処理アドレススペースのみを持つことが可能で、これらのセグメントの一部は確保されます。
セグメント数 |
セグメント MB |
GCHMAX 値 |
1 |
256 |
262144 |
2 |
512 |
524288 |
3 |
768 |
786432 |
4 |
1024 |
1048576 |
5 |
1280 |
1310720 |
6 |
1536 |
1572864 |
7 |
1792 |
1835008 |
8 |
2048 |
2097152 |
9 |
2304 |
2359296 |
10 |
2560 |
2621440 |
11 |
2816 |
2883584 |
12 |
3072 |
3145728 |
13 |
3328 |
3407872 |
… |
|
|
16 |
4096 |
4194304 |
… |
|
|
20 |
5120 |
5242880 |
… |
|
|
24 |
6144 |
6291456 |
… |
|
|
915 |
234240 |
239861760 |
試してみたところ、以下が Java JDK に対する IBM Java Technology の GCHMAX 最大値です。
32 ビット JVM は、3407872 キロバイトに制限されています。
STRJSM VERSION(*JVM8032) GCHMAX(3407872)
64 ビット JVM は、239861760 キロバイトに制限されています。
STRJSM VERSION(*JVM8064) GCHMAX(239861760)
共有クラス・オプション (-Xshareclasses) を使用している場合、GCHMAX 最大値はこれより少なくなります。
GCHMAX パラメータは、Java ヒープの最大値を制御します。
この値が低すぎると、ガベージ・コレクションが頻繁に発生します。
パーフォーマンスに影響を与える主なものの 1 つがこのガベージ・コレクションで、これはプロセッサー能力に大きく左右されます。
この値を増加させると、サーバーで利用可能なメモリが増え、ガベージ・コレクション・サイクルの頻度を抑えることができます。
しかしながら、この値を大きくすると、ガベージ・コレクション・サイクルが発生した場合、より多くのメモリを解放する必要があるため、より多くの時間がかかります。
上記の利用可能なシステム・メモリ値を増やすと、システム・ページングを引き起こし、パフォーマンスに大きな悪影響を与えてしまいます。
この値は、サーバー作業量の要件と使用可能なシステム・メモリに合わせて調整する必要があります。
より多くのメモリや追加リソースが必要な場合、負荷分散を通して提供するのがベストです。
詳細は、IBM の資料「&<a href="https://www.ibm.com/docs/ja/sdk-java-technology/8?topic=management-heap-allocation#heap-sizing" target="_blank"&>Java Heap allocation (英語) &</a&>」を参照してください。
JOB
送信されたインスタンス・ジョブの名前。
COUNT
インスタンスの送信回数。
詳細は、「2.7 Java Service Manager 追加サーバー」を参照してください。