JRockit JDK ユーザーズ ガイド
この節では、BEA JRockit の起動方法と、標準および非標準のコマンドライン オプションを使用してコンフィグレーションする方法について説明します。内容は以下のとおりです。
BEA JRockit を起動する前に、PATH 環境変数に以下のディレクトリが設定されているかを確認しましょう。
BEA JRockit を起動するには、コマンドラインで次のように入力します。
java
<configuration and tuning options>myClass
ここで、<
configuration and tuning options>
は任意指定のコンフィグレーションとチューニングのオプションです。コンフィグレーションのオプションについては、下記の「BEA JRockit のコンフィグレーション」を参照してください。このバージョンの BEA JRockit で使用可能なチューニング オプションの詳細については、『BEA JRockit JVM チューニング ガイド』を参照してください。
注意 : ファイルの絶対パスを指定して JRockit を起動させることもできます。たとえば、Linux では /usr/local/java/bin/java
、Windows では c:¥bea¥jrockit
xxx
¥bin¥java
と指定します。
以下のオプションでは、実行する JRockit のタイプ (サーバサイドまたはクライアントサイド) を設定します。
JVM のタイプを設定する (またはデフォルトを受け入れる) と、実行時に使用されるガベージ コレクション アルゴリズムも設定されます。-server
の場合は、スループットを重視する動的なガベージ コレクタが起動し、-client
の場合は、シングルスペース、コンカレント マーク、コンカレント スイープ ガベージ コレクタが起動します。特定の固定ガベージ コレクタを使用する場合は、-Xgc
コマンドライン オプションを使用してデフォルトをオーバーライドしてください。
チューニング オプションを指定した起動コマンドのサンプルは次のようになります。
java -Xverbose:memory -Xmx:256m -Xms:64m myClass
-Xverbose:memory
- メモリ使用状況に関する冗長出力を表示。-Xmx:256m
- 最大ヒープ サイズを 256MB に設定。-Xms:64m
- 初期ヒープ サイズを 64MB に設定。myClass
- main
メソッドを含むクラスを識別。
BEA JRockit の起動時に、標準または非標準のコマンドライン オプションを使用して動作に関するパラメータを設定できます。この節では、これらのオプションについて解説し、起動時にオプションを使用して BEA JRockit をコンフィグレーションする方法について説明します。内容は以下のとおりです。
標準のコマンドライン オプションは JVM に関係なく同じように機能します。つまり、BEA JRockit JVM、Sun Microsystems の HotSpot JVM、または他のサードパーティ JVM のいずれを実行している場合でも同じように機能します。
以下の標準のコマンドライン オプションは BEA JRockit の一般的な情報を設定します。
-classpath <directories and zips/jars separated by : (Linux) or ; (Windows)>
-D<name>[=<value>]
以下のオプションでは、システムがオペレータにメッセージを提供するかどうかと、そのメッセージの形式や内容について決定します。
-X
から始まる拡張コマンドライン オプションは、BEA JRockit JVM 専用のオプションです。さまざまな Java アプリケーションのニーズに合わせて JRockit の動作を変更します。これらのオプションは他の JVM では機能しません (反対に、他の JVM で使用される拡張オプションは JRockit では機能しません)。
-X
オプションは、拡張オプションに関する短いヘルプ メッセージを表示します。
注意 : これらは JRockit の拡張オプションであり非標準であるため、リリースによって変更される可能性があります。詳細については、「BEA JRockit 5.0 JDK の互換性について」を参照してください。
BEA JRockit JVM の一般的な動作を定義する拡張オプションの例を以下に示します。
起動オプション -Xverbose
を使用した場合、BEA JRockit はシステムに関する特定の情報を画面上に表示します。表示される情報は、オプションと一緒に指定するパラメータによって異なります。サポートされているパラメータは、memory
、load
、gc
、opt
および cpuinfo
です。パラメータを何も指定しなかった場合は、すべての情報が表示されます。
注意 : 複数のパラメータを指定する場合は、次のように、カンマで区切ってください。-Xverbose:gc,opt
コード リスト 2-1 からコード リスト 2-6、および表 2-1 から表 2-6 に、冗長出力の例とその説明を示します。これらの出力例は、冗長出力がどのような結果を返すのかを示すためのものです。これらの出力例は、使用する BEA JRockit のバージョンなどによって、実際にシステム上に表示されるものとは大きく異なる可能性があります。
コード リスト 2-1 -Xverbose:codegen の出力例
[codegen] #1 ?(0x2) n jrockit/vm/Allocator.prepareNextChunkAndAlloc(IIII)Ljava/lang/Object;
[codegen] #1 ?(0x2) n @0x6b3543f0-0x6b354465 1.43 ms (1.43 ms)
|
|
コード リスト 2-2 -Xverbose:opt の出力例
[opt ] #1 4 (0x8) o jrockit/vm/Locks.waitForThinRelease(Ljava/lang/Object;I)I
[opt ] #1 4 (0x8) o @0x324D0000-0x324D00A1 26.80 ms (26.80 ms)
コード リスト 2-3 -Xverbose:cpuinfo の出力例
[cpuinfo] Vendor: GenuineIntel
[cpuinfo] Type: Original OEM
[cpuinfo] Family: Pentium 4
[cpuinfo] Brand: Intel(R) Xeon(TM) CPU 2.80GHz
[cpuinfo] Supports: On-Chip FPU
[cpuinfo] Supports: Virtual Mode Extensions
[cpuinfo] Supports: Debugging Extensions
|
|
|
コード リスト 2-4 -Xverbose:load の出力例
[load ] opened zip /localhome/jrockits/jrockit-jdk1.5.0_02/jre/lib/jrockit.jar
[load ] opened zip /localhome/jrockits/jrockit-jdk1.5.0_02/jre/lib/rt.jar
[load ] opened zip /localhome/jrockits/jrockit-jdk1.5.0_02/jre/lib/jsse.jar
[load ] opened zip /localhome/jrockits/jrockit-jdk1.5.0_02/jre/lib/jce.jar
[load ] opened zip /localhome/jrockits/jrockit-jdk1.5.0_02/jre/lib/charsets.jar
[load ] opened zip /localhome/jrockits/jrockit-jdk1.5.0_02/jre/lib/managementapi.jar
[load ] initiated ?(0x2) 0 (nil)/java/lang/Object
[load ] define ?(0x2) # 0 java/lang/Object loader=(nil), src=/localhome/jrockits/jrockit-jdk1.5.0_02/jre/lib/jrockit.jar
[load ] loading ?(0x2) 0 (nil)/java/lang/Object success (0.59 ms)
|
|
|
|
コード リスト 2-5 -Xverbose:memory (動的なガベージ コレクタ) の出力例
[memory ] GC strategy: System optimized over throughput (initial strategy singleparpar)
[memory ] heap size: 65536K, nursery size: 16384K
[memory ] <s>-<end>: GC <before>K-><after>K (<heap>K), <pause> ms
[memory ] <s/start> - start time of collection (seconds since jvm start)
[memory ] <end> - end time of collection (seconds since jvm start)
[memory ] <before> - memory used by objects before collection (KB)
[memory ] <after> - memory used by objects after collection (KB)
[memory ] <heap> - size of heap after collection (KB)
[memory ] <pause> - total pause time during collection (milliseconds)
[memory ] Changing GC strategy to generational, parallel mark and parallel sweep
[memory ] 1.719-1.731: GC 65536K->3176K (65536K), 11.000 ms
|
|
|
|
コード リスト 2-6 -Xverbose:memory (パラレル、シングルスペース ガベージ コレクタ) の出力例
[memory ] GC strategy: parallel
[memory ] heap size: 65536K
[memory ] <s>-<end>: GC <before>K-><after>K (<heap>K), <pause> ms
[memory ] <s/start> - start time of collection (seconds since jvm start)
[memory ] <end> - end time of collection (seconds since jvm start)
[memory ] <before> - memory used by objects before collection (KB)
[memory ] <after> - memory used by objects after collection (KB)
[memory ] <heap> - size of heap after collection (KB)
[memory ] <pause> - total pause time during collection (milliseconds)
[memory ] 1.561-1.572: GC 65536K->1420K (65536K), 10.000 ms
|
|
起動オプションの -Xverbose:memory
と -Xverbosetimestamp
、または -Xverbose:opt
と -Xverbosetimestamp
を使用すると、以下のように、その他の情報の前にタイムスタンプが表示されます。
[Thu Apr 21 10:24:11 2005][ 5656][memory ] 4.578: parallel nursery GC 22067K->7457K (65536K), 8.905 ms
[Thu Apr 21 10:24:11 2005][ 5656][memory ] 4.781: parallel nursery GC 22157K->7549K (65536K), 9.954 ms
以下に示すのは、 -Xverbose:opt
と -Xverbosetimestamp
を指定した場合のタイムスタンプ情報の例です。
[Thu Apr 21 10:24:19 2005][ 5576][opt ] #3 4 (0x8) o jrockit/vm/Locks.monitor Enter(Ljava/lang/Object;)Ljava/lang/Object;
[Thu Apr 21 10:24:19 2005][ 5576][opt ] #3 4 (0x8) o @0x324D0A90-0x324D0AD4 3.29 ms (235.46 ms) 17.26 ms (252.72 ms)