java内部错误选择的文件_java-Eclipse内存分析器,但始终显示发生内部错误?

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)

但是,当我通过Eclipse Memory Analyser打开堆转储java_pid 2584.hprof时,总是出现以下消息:

An internal error occurred during:

"Parsing heap dump from **\java_pid6564.hprof'".Java heap space

Gavin asked 2019-11-06T17:09:55Z

10个解决方案

90 votes

问题是Eclipse Memory Analyzer没有足够的堆空间来打开堆转储文件。

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

打开-Xmx1024m文件

将默认的-Xmx1024m更改为更大的尺寸

codeisee answered 2019-11-06T17:10:34Z

23 votes

请注意,在OS X上,要增加分配给MAT的内存,您需要右键单击Memory Analyzer.app并显示包内容。 MemoryAnalyzer.ini文件位于/ Contents / MacOS /下。

tkincher answered 2019-11-06T17:10:59Z

11 votes

在OS X 11.5(El Cap)上,修改.ini不起作用! 这是因为它正在其他地方寻找MemoryAnalyzer.app/Contents/MacOS/MemoryAnalyzer.ini。

在我的计算机上,它正在寻找:

.ini,但实际的.ini文件是:MemoryAnalyzer.app/Contents/MacOS/MemoryAnalyzer.ini。

为了使您的更改生效,请将现有的.ini文件复制到新位置。

要查找MemoryAnalyzer在哪里寻找ini文件,可以运行:

sudo su

cd ...MemoryAnalyzer.app/Contents/MacOS/

dtruss ./MemoryAnalyzer 2>&1 | grep ini

Russell Cohen answered 2019-11-06T17:11:52Z

10 votes

MAC OS X El Capitan中的Eclipse中的Memory Analyzer插件相同问题的解决方案。

我遇到了相同的问题,但是使用了eclipse插件,并且“应用程序”文件夹中没有任何Memory Analyzer应用程序。 对我有用的解决方案是:

右键单击Eclipse图标,然后选择“显示软件包内容”。

转到目录> Eclipse

打开Eclipse.ini

将值-Xmx1024m更改为-Xmx2048m

重启Eclipse

Abhishek Garg answered 2019-11-06T17:12:53Z

5 votes

如果从Eclipse使用Memory Analyzer,则编辑eclipse.ini文件以将vm参数增加到-Xmx1024m或更高。 这对我有用。[http://wiki.eclipse.org/index.php/MemoryAnalyzer/FAQ#Out_of_Memory_Error_while_Running_the_Memory_Analyzer]

Goodluck answered 2019-11-06T17:13:18Z

2 votes

如果您使用的是Mac,请尝试使用-data选项在mat.app“文件夹”中运行可执行文件,通过该文件您可以指定可写路径:

cd mat.app/Contents/MacOS

./MemoryAnalyzer -data

snowfox answered 2019-11-06T17:13:42Z

2 votes

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

从MAT安装目录中打开MemoryAnalyzer.ini文件。

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

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

Abhishek Phoenixz answered 2019-11-06T17:14:26Z

1 votes

我也在这里尝试了所有解决方案,同时仍然遇到相同的错误,并且由于文件类型/编辑器关联错误或未知,eclipse试图将.hprof文件作为文本文件打开的原因。

解决方案:右键单击文件,选择打开方式,然后选择其他,然后选择Eclipse Memory Analyzer。

使用700MB转储,并在约600M的日食堆上使用2G转储。

mibrahim answered 2019-11-06T17:15:05Z

-2 votes

您可以减少应用程序的内存限制,然后再次进行转储。 Eclipse Memory Analyzer将转储文件放入内存-我怀疑您的Eclipse的内存少于应用程序的限制。

您也可以采取相反的做法,并增加Eclipse的内存限制,但是如果您的应用程序在服务器上运行,则内存大小将很难匹配。

wojand answered 2019-11-06T17:15:38Z

-2 votes

发生内部错误。 Java堆空间

答:转到您的项目工作空间打开.setting文件夹删除.setting文件夹的所有文件。可以编译之后现在没有错误,例如堆空间请享用 :)

Hemang Rami answered 2019-11-06T17:16:12Z

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值