有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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

共 (6) 个答案

  1. # 1 楼答案

    针对MAC OS X El Capitan中Eclipse中内存分析器插件的相同问题的解决方案

    我也面临着同样的问题,但使用eclipse插件时,我在应用程序文件夹中没有任何内存分析器应用程序。对我有效的解决方案是:

    1. 右键单击Eclipse图标并选择ShowPackage Content
    2. 转到目录>;日食
    3. 打开Eclipse。伊尼
    4. 将值-Xmx1024m更改为-Xmx2048m
    5. 重新启动Eclipse
  2. # 3 楼答案

    问题是Eclipse内存分析器没有足够的堆空间来打开堆转储文件

    您可以按如下方式解决此问题:

    1. 打开MemoryAnalyzer.ini文件

    2. 将默认-Xmx1024m更改为更大的大小

  3. # 4 楼答案

    请注意,在OSX上,要增加分配给MAT的内存,需要右键单击mat.app并显示包内容。MemoryAnalyzer.ini文件位于/Contents/Eclipse

  4. # 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文件的位置,可以运行:

    sudo su
    cd ...MemoryAnalyzer.app/Contents/MacOS/
    dtruss ./MemoryAnalyzer 2>&1 | grep ini
    
  5. # 6 楼答案

    正如其他人所建议的,其两步简单流程:

    1. 打开记忆分析器。来自MAT安装目录的ini文件

    2. 将默认值-Xmx1024m更改为更大的大小,例如,如果必须分析4GB堆转储,则可以将-Xmx1024m替换为-Xmx5g或-Xmx6g

    有关更多详细信息,请参阅:- https://better-coding.com/solved-eclipse-mat-java-heap-space-error/