java Eclipse内存分析器,但始终显示发生内部错误?
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)
但当我打开头部转储java_pid2584时。hprof通过Eclipse内存分析器,但始终有以下消息:
An internal error occurred during:
"Parsing heap dump from **\java_pid6564.hprof'".Java heap space
# 1 楼答案
针对MAC OS X El Capitan中Eclipse中内存分析器插件的相同问题的解决方案
我也面临着同样的问题,但使用eclipse插件时,我在应用程序文件夹中没有任何内存分析器应用程序。对我有效的解决方案是:
# 2 楼答案
如果使用Eclipse中的内存分析器,则编辑Eclipse。ini文件,将vm参数增加到-Xmx1024m或更高。这对我有用。 http://wiki.eclipse.org/index.php/MemoryAnalyzer/FAQ#Out_of_Memory_Error_while_Running_the_Memory_Analyzer
# 3 楼答案
问题是Eclipse内存分析器没有足够的堆空间来打开堆转储文件
您可以按如下方式解决此问题:
打开
MemoryAnalyzer.ini
文件将默认
-Xmx1024m
更改为更大的大小# 4 楼答案
请注意,在OSX上,要增加分配给MAT的内存,需要右键单击
mat.app
并显示包内容。MemoryAnalyzer.ini
文件位于/Contents/Eclipse
下# 5 楼答案
在OS X 11.5(El Cap)上修改
MemoryAnalyzer.app/Contents/MacOS/MemoryAnalyzer.ini
不起作用!这是因为它在另一个地方寻找MemoryAnalyzer.ini
在我的电脑上,它在寻找:
但是真实的。ini文件是:
MemoryAnalyzer.app/Contents/MacOS/MemoryAnalyzer.ini
为了使更改生效,请将现有的
.ini
文件复制到新位置要查找MemoryanAnalyzer查找ini文件的位置,可以运行:
# 6 楼答案
正如其他人所建议的,其两步简单流程:
打开记忆分析器。来自MAT安装目录的ini文件
将默认值-Xmx1024m更改为更大的大小,例如,如果必须分析4GB堆转储,则可以将-Xmx1024m替换为-Xmx5g或-Xmx6g
有关更多详细信息,请参阅:- https://better-coding.com/solved-eclipse-mat-java-heap-space-error/