診断ガイド

     前  次    目次     
コンテンツの開始位置

JVM の起動を高速化するチューニング

JVM および Java アプリケーションの起動時間が長いと、短時間だけ実行される小規模なユーティリティ アプリケーションにおいてパフォーマンスが悪化することがあります。Oracle JRockit JVM はデフォルトでサーバによる使用を優先して最適化されます。したがって、アプリケーションが起動して実行できるようになるとすぐに高いパフォーマンスが優先されて、起動時間が長くなる可能性があります。この節では、起動時間を短くするために JVM をチューニングする方法について説明します。内容は以下のとおりです。

 


起動時間の測定

アプリケーションの起動時間とは、アプリケーションが起動して実行中となり、想定された処理を開始する準備が整うまでにかかる時間を指します。起動時間には、JVM の起動と Java アプリケーションの起動の両方が含まれます。

アプリケーションの起動時間を測定する方法については、「nanoTime() および currentTimeMillis() によるタイミング」を参照してください。

 


ヒープ サイズの設定

ヒープ サイズは、JVM の起動時間と Java の起動時間のどちらにも影響します。JVM は起動時に、最大ヒープ サイズ (-Xmx) でメモリを確保し、初期ヒープ サイズ (-Xms) でメモリをコミットするため、時間がかかります。大規模なアプリケーションでこの現象を避けることはできませんが、大きすぎるヒープ サイズを使用すると、必要以上に JVM の起動時間が長くなる場合があるので注意してください。短時間だけ実行される小規模なアプリケーションの場合は、小さなヒープ サイズを設定して、アプリケーションに必要なメモリより多くのメモリを確保およびコミットするオーバーヘッドが発生しないようにする必要があります。

その一方で、初期ヒープが小さすぎると、Java アプリケーションの起動が遅くなります。これは、ヒープが適切なサイズに増大するまで、JVM はガベージ コレクションを頻繁に実行せざるを得なくなるためです。起動時に最適なパフォーマンスを得るには、初期ヒープ サイズと最大ヒープ サイズを同じ値に設定してください。

 


アプリケーションおよび JVM のトラブルシューティング

アプリケーション自体が原因で、起動が遅くなることがあります。アプリケーションおよび JVM の問題のトラブルシューティングを行う際のヒントについては、「Oracle JRockit JVM の起動が遅い」を参照してください。


  ページの先頭       前  次