JRockit SDK の紹介
![]() |
![]() |
![]() |
![]() |
BEA JRockit SDK は、これ以前のバージョンの SDK を改良したものです。JDK バージョン 1.4.2 互換となり、パフォーマンスの改善や処理の効率化を実現するための新しい機能が数多く追加されています。このバージョンの BEA JRockit SDK には、非標準の「実験的」な機能も含まれています。これらの機能の動作はこのバージョンの SDK でテストされていますが、完全に動作することを保証するものではなく、予告なく変更される可能性があります。
この節では、BEA JRockit SDK の標準機能について説明します。「標準機能」は、BEA Systems によって完全にサポートされており、適切な通知なしに変更されることはありません。標準機能には以下が含まれます。
BEA JRockit は、Intel 社の 64 ビット プロセッサ Itanium Platform Family (IPF) をサポートしています。このバージョンの BEA JRockit では、IPF プロセッサのパフォーマンスを向上するための拡張が施されています。
BEA JRockit は、起動パラメータとして -server
および -client
をサポートしています。
-server
を指定すると、BEA JRockit JVM がサーバサイド JVM として起動します。この値がデフォルトです。-client
を指定すると、BEA JRockit JVM がクライアントサイド JVM として起動します。このオプションは、ヒープが小さく、アプリケーションの実行時間が短いことが予想される場合に便利です。 JVM のタイプを設定する (またはデフォルトを受け入れる) と、実行時に使用されるガベージ コレクション アルゴリズムも設定されます。ガベージ コレクションや -server
および -client
オプションの詳細については、「BEA JRockit メモリ管理システムの使い方」の「デフォルト ガベージ コレクタの設定」を参照してください。
ネイティブ POSIX スレッド ライブラリ (NPTL) は、Red Hat Enterprise Linux 3.0 の LinuxThreads の代わりに使用できるスレッド ライブラリ オプションです。NPTL を使用することで、マルチスレッド Linux アプリケーションのパフォーマンスを飛躍的に向上させることができます。NPTL の詳細については、Ulrich Drepper によるホワイト ペーパー「The Native POSIX Thread Library for Linux」を参照してください (このファイルは .pdf
ファイルです。表示するには Adobe Acrobat または Acrobat 互換の PDF リーダが必要です)。
警告 : NPTL は BEA JRockit 1.4.2_04 では完全にサポートされていますが、BEA JRockit 1.4.2_03 では完全にはサポートされていません。BEA JRockit 1.4.2_03 の JVM を使用しており、システムで NPTL が有効になっていると、NPTL の使用が自動的に試行され、実行時にエラーが送出されるおそれがあります。このエラーを回避するには、使用している環境で LD_ASSUME_KERNEL=2.4.1
を設定して NPTL を無効にするか、BEA JRockit を 1.4.2_04 にアップグレードしてください
ヒープ サイズの自動再設定動作が拡張され、ヒープをより動的かつ適正に使用できるようになりました。この拡張の効果が顕著に表れるのは最大および最小ヒープ サイズを指定しない (デフォルトのままにする) 場合ですが、これらの値が設定されている場合でも効果はあります。
実行中のシステムがそれほどメモリを使用しておらず、BEA JRockit のヒープが 50% 未満しか使用されていない (つまり、ガベージ コレクション後に生存しているオブジェクトの量がヒープ サイズの 50% 未満である) 場合には、ヒープを縮小できるようになりました。BEA JRockit 8.1 以前では、世代別コピー ガベージ コレクタを実行しているときにしかヒープを縮小できませんでした。BEA JRockit 1.4.2 では、世代別コピー ガベージ コレクタは非推奨となり、どのガベージ コレクタを実行している場合でもヒープを縮小できるようになりました。ただし、ヒープの初期サイズが設定されている場合 (-Xms:
nn
MB|GB
で指定) は、そのサイズ未満にヒープが縮小されることはありません。
ヒープを拡大する機能がより制限されました。最大ヒープ サイズ (-Xmx:
nn
MB|GB
で指定) が設定されていない場合、ヒープの拡大によってページングが発生する場合には、システムのメモリが枯渇してもヒープは拡大されません。その代わりに、オブジェクトの割り当てに失敗し、これ以上ヒープを圧縮できない場合には、OutOfMemoryError が送出されます。-Xmx
が設定されている場合は、-Xmx
の値を上限にヒープを拡大できます。ただし、ヒープの拡大によってページングが発生する前に、可能な限りの圧縮が試行されます。
ヒープのサイズ設定の詳細については、『BEA JRockit 1.4.2 JVM チューニング ガイド』の「ヒープ サイズの設定」を参照してください。
このバージョンの BEA JRockit では、Management Console、その通知サブシステム、およびユーザ アクションを、GUI を使用せずに表示できるようになりました。この機能をコンソールの「ヘッドレス モード」といい、BEA JRockit の実行に必要なシステム負荷を大幅に削減できます。
この機能の詳細については、『BEA JRockit SDK ユーザーズ ガイド』の「ヘッドレス モードでのコンソールの起動と実行」を参照してください。
BEA JRockit JVM と「J2SE JRE の標準機能」で説明したコンポーネントから構成される Java Runtime Environment (JRE) が再パッケージ化されました。これにより、BEA JRockit 製品に含まれている JRE インストーラを使用して、JRE をSDK とは別にインストールできるようになりました。以前のバージョンの BEA JRockit では、JRE をインストールする際にさまざまなディレクトリ構造内のファイルを操作する必要があり、これがエラーの原因になるおそれがありました。新しいインストール手順については、「BEA JRockit 1.4.2 JRE のインストール」を参照してください。
Java Plug-in により Web ブラウザの機能が拡張され、Web ブラウザの JRE ではなく、BEA JRockit JRE でアプレットや Java Bean を実行できるようになりました。Java Plug-in は BEA JRockit JRE の一部であり、コンピュータに JRE がインストールされるときにインストールされます。Netscape でも Internet Explorer でも機能します。この機能は、BEA JRockit の IA32 実装でのみ利用できます。
この Java Pug-in のインストールおよび使用方法については、「Java Plug-in の使い方」を参照してください。
edocs に BEA JRockit 1.4.2 の Java デモとソースが追加されました。
Java.*
ソース ファイルには、Sun SDK の Java クラスのソース コードが含まれています。これらのソースは Sun が提供している参照実装です。一部のクラス ファイルのソースが異なる場合があることに注意してください。これらのファイルは、通常は Sun からしか入手できませんが、次のページから直接ダウンロード可能になっています。
http://edocs.beasys.co.jp/e-docs/wljrockit/docs142/demo_src.html
ソース ファイルおよびデモ ファイルは .zip
形式でダウンロードでき、必要に応じていつでもインストールできます。
このバージョンの BEA JRockit には Java Web Start の実装が含まれています。このツールを使用すると、Java アプリケーションをブラウザからシングル クリックで起動できます。Web Start では、Java アプリケーションをブラウザから直接ダウンロードおよび起動できるため、複雑で時間のかかるインストール作業は必要ありません。Web Start を使用すれば、あらゆる Java アプリケーションを起動できます。
詳細については、「BEA JRockit での Web Start の使い方」を参照してください。
すべてのガベージ コレクタで、JVM のプロファイリング インタフェース (JVMPI) がサポートされるようになりました。JVMPI の詳細については、「BEA JRockit 1.4.2 でのプロファイリングとデバッグ」を参照してください。
Linux man ページの詳細については、「Linux man ページの使用」を参照してください。
この節では、BEA JRockit の新しい非標準機能について説明します。これらの機能は非標準であるため、完全な動作は保証されておらず、予告なく変更される可能性があります。この節で説明する機能は以下のとおりです。
BEA JRockit Memory Leak Detector は、BEA JRockit 上で実行される Java アプリケーション内のメモリ リークを検出するツールです。メモリ リークとは、アプリケーションで使用されなくなったメモリがその後もアプリケーション コードによって保持され続けることです。BEA JRockit Memory Leak Detector は、割り当てられたオブジェクトの種類、回数、サイズ、およびオブジェクト相互の関連性に関する情報を提供するリアルタイムのプロファイリング ツールです。
Memory Leak Detector の詳細については、「BEA JRockit Memory Leak Detector の使い方」を参照してください。
注意 : この製品は明示または黙示の保証あるいは BEA Systems, Inc によるサポートなしに「現状のまま」で提供されています。この製品は BEA Systems の公式なサポート対象製品になるかどうか定かではなく、エラーや誤りが含まれる可能性があります。この製品の使用は BEA Systems からの承認なしにユーザの裁量にのみ任されます。Memory Leak Detector の機能は将来の BEA JRockit のバージョンで利用できるかどうか定かではありません。質問および問題はオンラインの BEA JRockit ニュースグループ (http://newsgroups.bea.com) を通じて報告できます。
この節では、BEA JRockit の新しい非標準機能について説明します。これらの機能は非標準であるため、完全な動作は保証されておらず、予告なく変更される可能性があります。この節で説明する機能は以下のとおりです。
このバージョンの BEA JRockit には統合ガベージ コレクタが含まれており、2 つの優先順位 (メモリ スループット、またはコレクションによって生じた休止時間の長さ) のいずれかにのみ基づく動的なガベージ コレクタを選択できます。統合ガベージ コレクタが動的であるというのは、あらかじめ定義されたヒューリスティックに基づいて実行中にどのコレクション アルゴリズムを使用するかを決定したり、個別の状況に適合していなければアルゴリズムを変更したりできるからです。統合ガベージ コレクタを実行する上で、実際のアルゴリズムを指定する必要はありません。
統合ガベージ コレクタの詳細については、「BEA JRockit メモリ管理システムの使い方」の「動的なガベージ コレクタの実行」を参照してください。
以前のバージョンの BEA JRockit SDK で使用していた 3 つの固定ガベージ コレクタは、ガベージ コレクタを手動でコンフィグレーションするか、-server
または -client
フラグによるデフォルトのガベージ コレクタ設定をオーバーライドすれば使用できます。
これらのガベージ コレクタは、統合コレクタやデフォルト コレクタよりもニーズに適合する場合に使用します。また、これらのコレクタを実装するスクリプトを以前のバージョンの BEA JRockit で記述していた場合でも、変更することなく引き続き使用できます。
注意 : BEA JRockit 8.1 SDK で提供されていた世代別コピー ガベージ コレクタは、BEA JRockit 1.4.2 SDK では提供されていません。
BEA JRockit Runtime Analyzer (JRA) は、BEA JRockit の開発チームが BEA JRockit および BEA JRockit で実行する Java アプリケーションの実行時パフォーマンスを分析するために使用する内部的な実験ツールです。このツールは、開発チームにとって有用な BEA JRockit の内部に関する情報を豊富に提供します。これらの数値には、BEA JRockit をランタイムとして使用する Java 開発者にとって興味深いものもあります。
警告 : JRA は、明示または黙示の保証あるいは BEA Systems, Inc によるサポートなしに「現状のまま」で提供されています。この製品には、エラーや誤りが含まれている可能性があります。この製品の使用は BEA Systems からの承認なしにユーザの裁量にのみ任されます。
注意 : JRA は、J2SE バージョン 1.4 以降のみをサポートしています。
BEA JRockit 1.4.2_04 で使用できるバージョンの JRA のみを対象として、いくつかの新機能が追加されています。これらの機能は、BEA JRockit 1.4.2_03 で使用できるバージョンの JRA では利用できません。
注意 : 現時点で BEA JRockit 1.4.2_03 に含まれていた JRA ツールを使用しており、これらの新機能を使用したい場合は、次のリンクから最新バージョンの JRA をダウンロードしてください。
http://edocs.bea.com/wljrockit/docs142/JRA.zip
-XXjra
コマンドおよび以下のパラメータを使用して、JRA の記録を開始できるようになりました。
-XXjra:delay=10,recordingtime=100,filename=jrarecording2.xml,sampletime=10000
JRA が [Lock profiling] タブでモニタするアプリケーションのロック処理に関する包括的な情報を表示できるようになりました。ロックのプロファイルは、コマンドラインで -Djrockit.lockprofiling
コマンドを発行した場合にのみ生成されます。詳細については、『JRockit Runtime Analyzer ユーザーズ ガイド』の「アプリケーションおよび JRockit でのロック アクティビティの表示」を参照してください。
BEA JRockit 1.4.2_04 で使用できるバージョンの JRA では、以下の点で使い勝手が向上しています。
JRA の詳細については、「JRockit Runtime Analyzer の使い方」を参照してください。
コード キャッシング (コードの永続化) は、生成されたコードをディスクに格納し、後でコードが必要になったときに取得できるようにするための処理です。キャッシュされたコードはすでに生成されているため、以降の起動時にはコード生成の時間が必要なく、通常は実行時間も短縮されます。コード キャッシングの詳細については、「BEA JRockit でのコード キャッシング」を参照してください。
![]() ![]() |
![]() |
![]() |