Java.lang.OutOfMemoryError: Java heap space
Dumping heap to Java_pid2584.hprof ...
Heap dump file created [106948719 bytes in 4.213 secs]
Exception in thread "main" Java.lang.OutOfMemoryError: Java heap space
at Java.util.Arrays.copyOf(Arrays.Java:2760)
at Java.util.Arrays.copyOf(Arrays.Java:2734)
at Java.util.ArrayList.ensureCapacity(ArrayList.Java:167)
at Java.util.ArrayList.add(ArrayList.Java:351)
at Main.main(Main.Java:15)
しかし、Eclipse Memory AnalyserでヒープダンプJava_pid 2584.hprofを開くと、常にメッセージが表示されます。
An internal error occurred during:
"Parsing heap dump from **\Java_pid6564.hprof'".Java heap space
問題は、Eclipse Memory Analyzerにヒープダンプファイルを開くのに十分なヒープ領域がないことです。
次のようにして問題を解決できます。
MemoryAnalyzer.ini
ファイルを開きます
デフォルトの-Xmx1024m
をより大きなサイズに変更します
OS Xでは、MATに割り当てられたメモリを増やすには、Memory Analyzer.appを右クリックしてパッケージの内容を表示する必要があることに注意してください。 MemoryAnalyzer.iniファイルは/ Contents/MacOS /の下にあります。
MAC OS X El CapitanのEclipseのMemory Analyzerプラグインに関する同じ問題のソリューション。
私は同じ問題に直面していましたが、Eclipseプラグインを使用しており、アプリケーションフォルダーにMemory Analyzerアプリがありませんでした。私のために働いた解決策は:
OS X 11.5(El Cap)では、MemoryAnalyzer.app/Contents/MacOS/MemoryAnalyzer.ini
の変更は機能しません!これは、別の場所でMemoryAnalyzer.ini
を探しているためです。
私のコンピューターでは、以下を探していました。
MemoryAnalyzer.app/Contents/Eclipse/MemoryAnalyzer.ini
が、実際の.iniファイルはMemoryAnalyzer.app/Contents/MacOS/MemoryAnalyzer.ini
でした。
変更を有効にするには、既存の.ini
ファイルを新しい場所にコピーします。
MemoryAnalyzerがiniファイルを探している場所を見つけるには、次を実行します。
Sudo su
cd ...MemoryAnalyzer.app/Contents/MacOS/
dtruss ./MemoryAnalyzer 2>&1 | grep ini
EclipseからMemory Analyzerを使用する場合は、Eclipse.iniファイルを編集して、vm引数を-Xmx1024m以上に増やします。これは私のために働いた。 http://wiki.Eclipse.org/index.php/MemoryAnalyzer/FAQ#Out_of_Memory_Error_while_Running_the_Memory_Analyzer
ここでもすべての解決策を試しましたが、同じエラーが発生し、Eclipseが.hprofファイルをテキストファイルとして開くことを試みた理由は、間違ったまたは不明なファイルタイプ/エディターの関連付けが原因でした。
解決策:ファイルを右クリックして、[開く]を選択し、[その他]を選択して、[Eclipse Memory Analyzer]を選択します。
700MBのダンプを処理し、約600MのEclipseヒープで2Gダンプを処理しました。
Macを使用している場合は、書き込み可能なパスを指定できる-dataオプションを指定してmat.app 'folder'内で実行可能ファイルを実行してみてください。
cd mat.app/Contents/MacOS
./MemoryAnalyzer -data <writable_path>
他の人が提案したように、その2つのステップの簡単なプロセス:-
mATインストールディレクトリからMemoryAnalyzer.iniファイルを開きます。
たとえば、デフォルトの-Xmx1024mをより大きなサイズに変更します。 4GBのヒープダンプを分析する必要がある場合は、-Xmx1024mを-Xmx5gまたは-Xmx6gに置き換えることができます。
詳細については、以下を参照してください: https://better-coding.com/solved-Eclipse-mat-Java-heap-space-error/