2009-09-01 8 views
1

私はJavaに非常に慣れていて、仮想マシンのサイズを設定する方法を理解できません。私はイメージを表示する小さなWebアプレットを構築しました。Java VMのサイズを設定するのに役立つ

*Exception in thread "Image Fetcher 0" java.lang.OutOfMemoryError: Java heap space* 

私は、インターネット上で発見され、最終的には、次のコマンドラインでEclipseにこのショートカットを作成している別の指示に従っしようとしてきた。これは私が得る起こったときに時々画像は、かなり大きくなる可能性が:

"C:\Documents and Settings\Dror Well\Desktop\temp\Eclipse\eclipse\eclipse\eclipse.exe" 
-vmargs -vm "C:\Program Files\Java\jdk1.6.0_14\bin" 
\"C:\Program Files\Java\jre6\bin\javaw.exe" -Xms256m -Xmx1024m 

私は何が欠けていますか?これはどのように行うべきですか?

+2

また、プログラムのメモリ使用量を減らす方法も見てください。たとえば、イメージサイズを最大限に制限することができます。 – crunchdog

答えて

0

パラメータは、Eclipseを実行するものではなく、アプリケーションを実行するJVMに渡す必要があります。 Eclipseでデバッグ設定を調べてみると、-Xmxと-Xmsパラメータを置く場所があるはずです。

5

この行では、Eclipseが実行するJavaプロセスにVM引数を設定しています。アプリケーションで行う必要があるのは、-Xmx512mを設定することです。あなたは走っています。これは[実行]ダイアログから実行できます。

[ファイル名を指定して実行]メニューから[ファイル名を指定して実行]を選択します。そこには、左側にプログラムの一覧が表示されます。すでに実行している場合は、Javaアプリケーション・ノードにリストされているはずです。それを選択し、右側のパネルで[引数]タブに移動します。 VM引数テキストボックスがあります。そこに-Xmx argを入力してください。

+0

が今度はそこに隠れていた。 G-dでは、これらの小さな構成設定を、特に新しい環境では嫌いです。ありがとうございました:)良い一日=] –

+0

@vondip:この回答を受け入れる気になりますか? –

+1

コマンドラインに関して、 '-vm'はランチャーにjavaを見つける場所を知らせる引数で、-vmargsの前に来なければなりません。 -vmargsの後のすべては、jvmに渡される引数です。また、2つのVMパスをリストすることには意味がありません.2つ目のVMパスは無視されます。 –

0

イメージがかなり大きくなる可能性があるので、次の選択肢になります。

  1. は、Eclipse(エクリプス自体はいない)によって起動されるJava実行可能ファイルに多くのメモリを割り当てます。これは、Eclipseでアプリケーションを実行するために使用するthe VM arguments for the runtime configurationで行うことができます。
  2. アプリケーションの-XX:+ UseParallelGCフラグを使用して、パラレルガベージコレクタに切り替えます(これはEclipse用ではありません)。長期間にわたって大きなオブジェクトがメモリに保持されている場合、これは役に立ちません。
-1

Eclipseの場合、JVMプロパティーを設定するには、eclipse.iniファイルを更新する必要があります。ファイルの場所と更新方法の詳細はthis linkです。

+0

opは、Eclipseプロセス自体のメモリではなく、Eclipseによって起動されたアプリケーションのメモリの設定方法を尋ねています。 Eclipseのjvmプロパティは、eclipse.exe -Xmxのようにコマンドラインで設定することもできます。 –

+0

これは完全に間違っています。そんなに遅く仕事をしているのです。 – Carnell

関連する問題