2011-01-31 14 views
1

私は、Javaベースのアプリケーションを最適化するためにどこから探し始めるのかちょっと混乱しています。誰かが私に何を探すべきかについていくつかの指導を与えることができますか?JVMの最適化はどこから始まりますか?

追加注:

私が実行しているJavaアプリケーションはオープンソースですが、私はそれを行うことが可能ではないんだと、私はそれを自分自身を微調整する必要はありません。だから私が見ているのは、アプリケーションの現在の動作に合わせて実行環境を最適化する方法です。ところで、アプリケーションは、Javaベースの継続的な統合システムであるhudsonです。事前に

感謝:)

+0

最適化とはどういう意味ですか?コードをより速く動かすには? – uloBasEI

+1

* @ icasimpan *:あなたのタイトルは質問の本文とは異なるものを求めていることに注意してください。あなたの質問のタイトルは間違っています。 JVMはあなたのプログラムを実行するものです。プログラムのパフォーマンスに満足できない場合は、実行環境ではなく、まずプログラム*を見てください。 (つまり、とにかくJVMを操作するのはかなり難しいでしょう) – stakx

+0

@stakx:アプリケーションの代わりにJVMを最適化する理由を説明するために質問を修正しました。 FYIのおかげで) – icasimpan

答えて

5

あなたが問題を抱えている場所を見つけることを試みる最適化を開始する前に。あなたのアプリケーションCPUはバインドされていますか?これを知ったら、まずパフォーマンスに最も大きな影響を与えて最適化を試みてください。 Javaプロファイラーを使用して、アプリケーションまたは構成の問題を見つけます。

ホールプロセスの出発点は、サイトJava Performance Tuningです。

0
  • 読むのJava HotSpot VMのオプションperformance tuning
  • 実験的なVMオプション(-XX:+ UnlockExperimentalVMOptions -XX:+ UseG1GC -XX:+ UseFastAccessorMethods)のロックを解除してみてください。
  • コードを最適化します。
0

JVMを最適化する前に、コードを最適化することをお勧めします。 VisualVM(無料)やYourKit(商用)などのプロファイラを使用して、CPUとメモリのパフォーマンスのボトルネックを調べることができます。しばしば単純な変更が大きな違いを生むことがあります。

逆に、多くのJVMオプションを変更することができ、本当に助けになるかどうかはわかりません。