Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/376.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java IBM堆转储分析器|内存不足_Java_Memory_Heap Dump - Fatal编程技术网

Java IBM堆转储分析器|内存不足

Java IBM堆转储分析器|内存不足,java,memory,heap-dump,Java,Memory,Heap Dump,我在7gmram机器上运行,我有一个大小为1.8gb的堆转储文件。我正在使用64位的Java 8并在64位机器上运行。 当我试图从堆转储分析器工具打开phd文件时,它抛出内存不足错误。我正在为堆分析器工具设置java vm参数,如下所示 java-Xmx4g-XX:-usegcoveredlimit 但我仍然无法打开文件。请让我知道如何克服这一点 我多次面对同一个问题。我注意到分析器在Linux上运行得更好。在windows上,它大多数时候都需要非常大的内存—令人惊讶的是,我没有看到heapdu

我在7gmram机器上运行,我有一个大小为1.8gb的堆转储文件。我正在使用64位的Java 8并在64位机器上运行。
当我试图从堆转储分析器工具打开phd文件时,它抛出内存不足错误。我正在为堆分析器工具设置java vm参数,如下所示
java-Xmx4g-XX:-usegcoveredlimit

但我仍然无法打开文件。请让我知道如何克服这一点

我多次面对同一个问题。我注意到分析器在Linux上运行得更好。在windows上,它大多数时候都需要非常大的内存—令人惊讶的是,我没有看到heapdump大小和分析器所需的xmx大小之间有任何明显的直接关系


如果这是一个选项,您可以在Linux上尝试,或者进一步增加xmx大小。

这是因为默认堆大小小于要加载的转储大小所需的大小,要解决此问题,您需要设置VM args Xms,并且使用正确的值设置xmx,以下是对我有效的方法:

"<JAVA_PATH>\Java.exe" -Xms256m -Xmx6144m -jar <HEAP_ANALYSER_NAME>.jar
“\Java.exe”-Xms256m-Xmx6144m-jar.jar

我希望这能有所帮助,我知道这有点晚了:)

我安装了JDK 1.8和JRE 1.8,并更改了Java运行时环境设置:Java控制面板-->Java-->视图-->用户(运行时参数为-Xms256m-Xmx6144m),同时启用JRE和JDK 1.8版本


这最终解决了:);试试看,Windows中的JDK1.8 64位。

这样做:
java-Xmx4g-XX:-usegcOverdeLimit
不会设置这些参数。如果你真的想设置它们,你需要为你正在使用的堆工具做这件事。我是为这个工具做的,只是更新了这个问题。还要尝试设置最小堆大小
java-Xms4g-Xmx4g-XX:-usegcoveredlimit
。尝试过没有更改吗