JRockit JVM チューニング ガイド
![]() |
![]() |
![]() |
![]() |
BEA JRockit JVM は、ハードウェアやその上で動作するアプリケーションに自動的に適応します。 それでは、なぜ JVM をチューニングする必要があるのでしょうか。 それは、ユーザのシステムに関して、BEA JRockit JVM では判断できない部分があるためです。 たとえば、JVM に使用させるメモリの容量はどのくらいでしょうか。 使用可能なメモリのほとんどを JVM に使用させるわけではないでしょう。 また、ユーザのアプリケーションの許容範囲内で最もよく機能する休止時間はどのくらいでしょうか。 このガイドはそのような質問に答えるものです。
BEA JRockit JVM には、-X
オプションと呼ばれる非標準の起動オプションが多数あります。これらのオプションを使用すると、特定のアプリケーションに合わせて JVM を適切にチューニングできます。 このガイドでは、JVM をチューニングしてアプリケーションの最適なパフォーマンスを実現できるように、さまざまな起動パラメータについて解説し、その設定に関して理解しておく必要のある事項を示します。
先に進む前に、以下の用語について理解しておく必要があります。 ガベージ コレクタに関する他のドキュメントを読んだ経験がある場合には、既に理解している用語もあるでしょう。
ガベージ コレクタは BEA JRockit のメモリ システムを効率的に管理する上で鍵となります。メモリ システムの効率的な管理は JVM チューニングの最終的な目標です。 ガベージ コレクションは、ヒープから不要になったオブジェクトを消去して、その領域を新しいオブジェクトのために解放するプロセスです。
メモリ スループットは、あるオブジェクトが参照されなくなった時点から、返還を要求されて空きメモリとして返される時点までの時間を評価するものです。 メモリ スループットが高くなるほど、2 つのイベントの間の時間は短くなります。 また、メモリ スループットが高くなるほど、必要なヒープは小さくなります。
ガベージ コレクタの休止時間とは、ガベージ コレクタがガベージ コレクション中にすべての Java スレッドを休止する時間の長さです。 休止時間が長くなるほど、システムの応答が遅くなります。 最長休止時間と平均休止時間は、システムのチューニングに使用できる最も注目すべき 2 つの値です
スレッドローカル割り当てはスレッドローカル オブジェクトと同じではありませんが、2 つの用語は混同されやすくなっています。 スレッドローカル割り当ては、オブジェクトが 1 つのスレッドからのみアクセスされる (つまり、スレッドローカル オブジェクトである) かどうかを決定するものではありません。スレッドローカル割り当てとは、他のスレッドが新しいオブジェクトを作成できない独自の領域をスレッドに持たせることを意味します。 ただし、スレッドがその領域に作成するオブジェクトには、他のスレッドからもアクセスできます。
![]() ![]() |
![]() |
![]() |