2011-07-22 24 views
5

可能性の重複:
How to speed up Java VM (JVM) startup time?JVMの起動を高速化する方法は?

は私が(他のJVMベースの言語で、おそらくまたは)Javaでコマンドラインユーティリティを書いています。問題は、JVMの起動時間です。 JVMはPythonやRubyよりも遅く起動します。

JVM統計をより速くするにはどうすればよいですか?コマンドラインでユーティリティを実行するたびに読み込まないように、JVMを「事前に」(LinuxとWindowsで)ロードすることはできますか?

+0

私もこれをやる方法を知りたいと思っています!私はあなたの依存jarファイルをスリムに言うと思いますが、誰かがより多くの知識を手伝ってくれることを願っています。 –

+1

私のマシンでは、 "HelloWorld"プログラムのロード/実行/終了に40msかかります。どのくらい速くする必要がありますか? –

+1

@Peter、寒いまたは暖かいスタート? –

答えて

5

Nailgunおそらく最高のソリューションです - それは、実行中のJVMインスタンスを保持し、その後(超軽量Cクライアントを使用して)あなたのコマンドで呼び出すことができます。

代替方法または追加オプションとして、まだ起動していない場合はJava 7にアップグレードすることをお勧めします。起動時間が大幅に延長されています。

+0

私たちは仕事でJrubyを使用しています.JVMの起動時間とスプリングオブジェクトの読み込みは遅延部分です。私たちは最近、クライアントサーバーNailGunのセットアップに切り替えました。私たちは、2倍以上の改善スピードを持っています。私達はそれが大好き! –

3

を事前にロードしてください。Dripを使用できます。新しいクラスのJVMを正しいクラスパスと他のJVMオプションと一緒に準備しておくので、必要なときにすばやく接続して使用できます。 DripはJVMオプションをハッシュし、その名前としてハッシュ値を持つディレクトリ内のJVMに接続する方法に関する情報を格納します。

+0

ありがとうございました....私はこの基本要件を持っていますし、私は1つまたは最後のものと接続した直後に(私はプロファイルと戦略を判断する必要があります)私はラウンドロビン方法/複数のjvmルートに行く場合、jvmを選択する他の方法も必要です。その上に既に構築されている/まるで "ドリップ"のようなものがありますか?私はどのようにjvmを閉じるつもりですか?それ以上のリソースは? wikiはまばらです。 –

+0

私はそれらをshスクリプトから思いつきました。 –

関連する問題