我在7台Ram机器上运行,我有一个大小为1.8 GB的堆转储文件。我使用64位Java 8并在64位机器上运行
当我尝试从堆转储分析器工具打开phd文件时,它会抛出内存错误。我正在为堆分析器工具设置java vm args,如下所示
java -Xmx4g -XX:-UseGCOverheadLimit
但我仍然无法打开文件。请让我知道如何克服这个问题。
答案 0 :(得分:2)
这是因为默认堆大小小于要加载的转储大小所需的大小,为了解决这个问题,你需要设置VM args Xms,并使用正确的值设置XmX,下面是对我有用的:
"<JAVA_PATH>\Java.exe" -Xms256m -Xmx6144m -jar <HEAP_ANALYSER_NAME>.jar
我希望有所帮助,我知道这有点迟了回复:)
答案 1 :(得分:0)
我多次遇到同样的问题。我注意到分析器在Linux上运行得更好。在Windows上,大多数时候它需要非常大量的内存 - 令人惊讶的是,我没有看到分析器大小与分析器所需的xmx大小之间有明显的直接相关关系。
如果是选项,您可以尝试使用Linux,也可以进一步增加xmx大小。
答案 2 :(得分:0)
我与JRE 1.8一起安装了JDK 1.8,并进行了Java运行时环境设置更改:Java控制面板-> Java->视图->用户(运行时参数为-Xms256m -Xmx6144m),并同时启用JRE和JDK 1.8版本。
这终于解决了:);试试看,Windows中的JDK1.8 64bit。