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

JRockit JVM チューニング ガイド

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

BEA JRockit JVM のチューニングの概要

BEA JRockit JVM は、ハードウェアやその上で動作するアプリケーションに自動的に適応します。 それでは、なぜ JVM をチューニングする必要があるのでしょうか。 それは、ユーザのシステムに関して、BEA JRockit JVM では判断できない部分があるためです。 たとえば、JVM に使用させるメモリの容量はどのくらいでしょうか。 使用可能なメモリのほとんどを JVM に使用させるわけではないでしょう。 また、ユーザのアプリケーションの許容範囲内で最もよく機能する休止時間はどのくらいでしょうか。 このガイドはそのような質問に答えるものです。

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

 


BEA JRockit のチューニング方法

BEA JRockit JVM には、-X オプションと呼ばれる非標準の起動オプションが多数あります。これらのオプションを使用すると、特定のアプリケーションに合わせて JVM を適切にチューニングできます。 このガイドでは、JVM をチューニングしてアプリケーションの最適なパフォーマンスを実現できるように、さまざまな起動パラメータについて解説し、その設定に関して理解しておく必要のある事項を示します。

 


JVM のチューニングに関する用語

先に進む前に、以下の用語について理解しておく必要があります。 ガベージ コレクタに関する他のドキュメントを読んだ経験がある場合には、既に理解している用語もあるでしょう。

ガベージ コレクタ

ガベージ コレクタは BEA JRockit のメモリ システムを効率的に管理する上で鍵となります。メモリ システムの効率的な管理は JVM チューニングの最終的な目標です。 ガベージ コレクションは、ヒープから不要になったオブジェクトを消去して、その領域を新しいオブジェクトのために解放するプロセスです。

メモリ スループット

メモリ スループットは、あるオブジェクトが参照されなくなった時点から、返還を要求されて空きメモリとして返される時点までの時間を評価するものです。 メモリ スループットが高くなるほど、2 つのイベントの間の時間は短くなります。 また、メモリ スループットが高くなるほど、必要なヒープは小さくなります。

休止時間

ガベージ コレクタの休止時間とは、ガベージ コレクタがガベージ コレクション中にすべての Java スレッドを休止する時間の長さです。 休止時間が長くなるほど、システムの応答が遅くなります。 最長休止時間と平均休止時間は、システムのチューニングに使用できる最も注目すべき 2 つの値です

スレッドローカル割り当て

スレッドローカル割り当ては、オブジェクト割り当ての競合を取り除き、ヒープ上で割り当てを行うスレッド同士を同期する必要性を軽減します。 また、異なる CPU 上で動作する 2 つのスレッドが同じメモリ ページに同時にアクセスするリスクが減るため、マルチ CPU システムでキャッシュのパフォーマンスが向上します。

スレッドローカル割り当てはスレッドローカル オブジェクトと同じではありませんが、2 つの用語は混同されやすくなっています。 スレッドローカル割り当ては、オブジェクトが 1 つのスレッドからのみアクセスされる (つまり、スレッドローカル オブジェクトである) かどうかを決定するものではありません。スレッドローカル割り当てとは、他のスレッドが新しいオブジェクトを作成できない独自の領域をスレッドに持たせることを意味します。 ただし、スレッドがその領域に作成するオブジェクトには、他のスレッドからもアクセスできます。

 


『BEA JRockit JVM チューニング ガイド』の内容

このガイドは 3 つの節に分かれています。

 

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