質問

〜800MBのヒープダンプを分析しようとしています。これには、日食の標準よりも大きなヒープが必要です。ただし、eclipse.iniファイルに行って設定すると -Xmx2g (また -Xmx2048m)「Java Virtual Machineの作成に失敗した」エラーが発生しました。

1)はい、私は十分なメモリを持っています。 2)まったく-XMX976Mに変更できます。 3)スタンドアロンマットアナライザーを試してみましたが、バイトではなく-XMX1024Mで動作します。 4)いいえ、1GBでそのヒープを分析するのに十分ではありません、私はOOMを取得します

これは日食エラーです:alt text

これはマットエラーです:alt text

(私は彼らが同じだと思います、これはちょうどあなたがマットで例を見ることができるので、

私の現在のeclipse.ini(作業)は次のとおりです。

-startup
plugins/org.eclipse.equinox.launcher_1.1.0.v20100507.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.0.v20100503
-product
org.eclipse.epp.package.java.product
--launcher.defaultAction
openFile
--launcher.XXMaxPermSize
256M
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms40m
-Xmx384m

誰かがこれを理解していますか?

ありがとう!

f。

役に立ちましたか?

解決 4

JVM Paramsをテストするための偽のアプリを作成しましたが、私が見つけたのは、JVMがWindowsで交換していないようで、少なくともスタートアップを形成しないことです。私は4GBのRAMを持っていますが、それは残りの空きスペースを割り当てることができるだけです。異なるアプリで異なる動作をする方法:私の偽のアプリにより、EclipseはXMX1024Mまでしか上がっていませんでしたが、XMX1380Mまで上がることができました。

エラーは次のようになります:

$ java -jar -Xmx1500m "C:\fakeapp.jar"
Error occurred during initialization of VM
Could not reserve enough space for object heap
Could not create the Java virtual machine.

同じことが-xmx1380gで、アプリはうまくいきました。

Unixでこの問題を抱えたことはありませんでしたが、ヒープは、スワップのためにまっすぐに進んでも、あなたが言うサイズから始めます。

Windowsでこの問題を抱えている人の場合:最初にCtrl + Shift + ESC-> Performance-> PhysyCalメモリを確認します。 「利用可能」に示されているのとほぼ同じ値をxmxを設定します。

開始する前に本当に十分な自由なメモリがあるかどうかをJVMがチェックするのを防ぐ方法が誰かが言うことができれば、それはクールでしょう。私が使用している1.5gは、わずか800MBのヒープダンプを処理しているので機能していますが、少し大きかった場合は、どこを走らせません...

乾杯、

f。

他のヒント

あなたが見ているこの問題は、私が想定している窓にありますか?

同じ問題がありました。あなたの問題を読んだ後、私は再び掘り出されました。私は自分の問題の解決策を見つけました。同じ場合は、試してみてください。 EclipseまたはMemoryAnalyzer iniファイルで、XMXオプションから - を削除します。その後、私のINIファイルはなります

-vmargs
Xmx1536m

そして今、より多くの記憶を持つ魅力のように機能します。このスレッドでALEX2308のコメントに感謝します http://troyworks.com/blog/2008/06/08/eclipse-jvm terminated-exit-code-1/comment-1/#comment-80


私の以前の解決策は、Linuxライブディスクを入手することでした。 Linuxを起動すると、問題なく2GをMATで割り当てることができました。 (Linuxのマットを入手することを確認してください)

周りの最高の回避策ではありませんが、バグを示すマットフォーラムでは何も見つかりませんでした。

32ビットVMにいるようです。 Java VMは、メモリスペース全体を1つのブロックで予約しようとします。つまり、システムが配置されていることに応じて、それほど多くのメモリを取得できない可能性があります。 64ビットVM(明らかに64ビットのCPU&OSが必要)に切り替えると、それを修正する必要があります。

JavaコントロールパネルのJavaランタイム環境設定を変更しましたか?ランタイムパラメーターの列にランタイムパラメーターEG -XMX3072Mを追加します。

多分あなたはこちらで詳細を確認できます。

Windows 7でJVMを増やします

それがあなたの問題を解決するのに役立つことを願っています。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top