ナビゲーションをスキップ

JRockit SDK の紹介

  前 次 前/次ボタンと目次ボタンとの区切り線 目次  

BEA JRockit SDK の新機能

BEA JRockit SDK は、これ以前のバージョンの SDK を改良したものです。JDK バージョン 1.4.2 互換となり、パフォーマンスの改善や処理の効率化を実現するための新しい機能が数多く追加されています。このバージョンの BEA JRockit SDK には、非標準の「実験的」な機能も含まれています。これらの機能の動作はこのバージョンの SDK でテストされていますが、完全に動作することを保証するものではなく、予告なく変更される可能性があります。

この節の内容は以下のとおりです。

 


標準機能

この節では、BEA JRockit SDK の標準機能について説明します。「標準機能」は、BEA Systems によって完全にサポートされており、適切な通知なしに変更されることはありません。標準機能には以下が含まれます。

IPF のパフォーマンスの向上

BEA JRockit は、Intel 社の 64 ビット プロセッサ Itanium Platform Family (IPF) をサポートしています。このバージョンの BEA JRockit では、IPF プロセッサのパフォーマンスを向上するための拡張が施されています。

新しいデフォルト パラメータ設定

BEA JRockit は、起動パラメータとして -server および -client をサポートしています。

JVM のタイプを設定する (またはデフォルトを受け入れる) と、実行時に使用されるガベージ コレクション アルゴリズムも設定されます。ガベージ コレクションや -server および -client オプションの詳細については、「BEA JRockit メモリ管理システムの使い方」の「デフォルト ガベージ コレクタの設定」を参照してください。

Linux のネイティブ POSIX スレッド ライブラリのサポート

ネイティブ 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:nnMB|GB で指定) は、そのサイズ未満にヒープが縮小されることはありません。

ヒープの拡大

ヒープを拡大する機能がより制限されました。最大ヒープ サイズ (-Xmx:nnMB|GB で指定) が設定されていない場合、ヒープの拡大によってページングが発生する場合には、システムのメモリが枯渇してもヒープは拡大されません。その代わりに、オブジェクトの割り当てに失敗し、これ以上ヒープを圧縮できない場合には、OutOfMemoryError が送出されます。-Xmx が設定されている場合は、-Xmx の値を上限にヒープを拡大できます。ただし、ヒープの拡大によってページングが発生する前に、可能な限りの圧縮が試行されます。

ヒープのサイズ設定の詳細については、『BEA JRockit 1.4.2 JVM チューニング ガイド』の「ヒープ サイズの設定」を参照してください。

Management Console のヘッドレス モード

このバージョンの BEA JRockit では、Management Console、その通知サブシステム、およびユーザ アクションを、GUI を使用せずに表示できるようになりました。この機能をコンソールの「ヘッドレス モード」といい、BEA JRockit の実行に必要なシステム負荷を大幅に削減できます。

この機能の詳細については、『BEA JRockit SDK ユーザーズ ガイド』の「ヘッドレス モードでのコンソールの起動と実行」を参照してください。

JRE の再パッケージ化

BEA JRockit JVM と「J2SE JRE の標準機能」で説明したコンポーネントから構成される Java Runtime Environment (JRE) が再パッケージ化されました。これにより、BEA JRockit 製品に含まれている JRE インストーラを使用して、JRE をSDK とは別にインストールできるようになりました。以前のバージョンの BEA JRockit では、JRE をインストールする際にさまざまなディレクトリ構造内のファイルを操作する必要があり、これがエラーの原因になるおそれがありました。新しいインストール手順については、「BEA JRockit 1.4.2 JRE のインストール」を参照してください。

IA32 マシンでのブラウザ プラグインのサポート

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 の使い方」を参照してください。

Java.* ソース ファイルおよびデモの追加

edocs に BEA JRockit 1.4.2 の Java デモとソースが追加されました。

これらのファイルは、通常は Sun からしか入手できませんが、次のページから直接ダウンロード可能になっています。

http://edocs.beasys.co.jp/e-docs/wljrockit/docs142/demo_src.html

ソース ファイルおよびデモ ファイルは .zip 形式でダウンロードでき、必要に応じていつでもインストールできます。

Java Web Start

このバージョンの 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 ページの詳細については、「Linux man ページの使用」を参照してください。

 


1.4.2_05 の非標準機能

この節では、BEA JRockit の新しい非標準機能について説明します。これらの機能は非標準であるため、完全な動作は保証されておらず、予告なく変更される可能性があります。この節で説明する機能は以下のとおりです。

BEA JRockit Memory Leak Detector

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) を通じて報告できます。

 


1.4.2_04 の非標準機能

この節では、BEA JRockit の新しい非標準機能について説明します。これらの機能は非標準であるため、完全な動作は保証されておらず、予告なく変更される可能性があります。この節で説明する機能は以下のとおりです。

-Xgcprio による動的なガベージ コレクションの設定

このバージョンの BEA JRockit には統合ガベージ コレクタが含まれており、2 つの優先順位 (メモリ スループット、またはコレクションによって生じた休止時間の長さ) のいずれかにのみ基づく動的なガベージ コレクタを選択できます。統合ガベージ コレクタが動的であるというのは、あらかじめ定義されたヒューリスティックに基づいて実行中にどのコレクション アルゴリズムを使用するかを決定したり、個別の状況に適合していなければアルゴリズムを変更したりできるからです。統合ガベージ コレクタを実行する上で、実際のアルゴリズムを指定する必要はありません。

統合ガベージ コレクタの詳細については、「BEA JRockit メモリ管理システムの使い方」の「動的なガベージ コレクタの実行」を参照してください。

ガベージ コレクタの手動コンフィグレーション

以前のバージョンの BEA JRockit SDK で使用していた 3 つの固定ガベージ コレクタは、ガベージ コレクタを手動でコンフィグレーションするか、-server または -client フラグによるデフォルトのガベージ コレクタ設定をオーバーライドすれば使用できます。

以下のガベージ コレクタが使用可能です。

これらのガベージ コレクタは、統合コレクタデフォルト コレクタよりもニーズに適合する場合に使用します。また、これらのコレクタを実装するスクリプトを以前のバージョンの BEA JRockit で記述していた場合でも、変更することなく引き続き使用できます。

注意 : BEA JRockit 8.1 SDK で提供されていた世代別コピー ガベージ コレクタは、BEA JRockit 1.4.2 SDK では提供されていません。

JRockit Runtime Analyzer

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 以降のみをサポートしています。

1.4.2_04 での JRA の新機能

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 の記録を開始できるようになりました。

delay

記録を開始するまでの待機時間 (秒単位)

recordingtime

記録の継続時間 (秒単位)

filename

記録ファイルの名前

sampletime

サンプリングの間隔 (ミリ秒単位)

nativesample

メソッド サンプルをネイティブコードで表示する (つまり、関数の名前を C コードで表示する) かどうか

次に例を示します。

-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 でのコード キャッシング」を参照してください。

注意 : この機能は、BEA JRockit 1.4.2_04 でのみ利用可能です。

 

ナビゲーション バーのスキップ  ページの先頭 前 次