Java.lang.OutOfMemoryError:Java堆空间[Ubuntu]

问题描述 投票:0回答:2

我正在尝试运行我的代码,我在我的控制台上收到此错误

 [java] Caused by: java.lang.OutOfMemoryError: Java heap space

我在jdk文件夹上运行Jconsole最大堆1.9m,我怎么能改变它?

java java-8 jvm hybris
2个回答
1
投票

对于hybris,您需要更新tomcat.generaloptions属性以调整Xmx值。例如,通过local.properties。 -Xmx2G是默认值。

tomcat.generaloptions=-Xmx4G -ea -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Dorg.tanukisoftware.wrapper.WrapperManager.mbean=true -Djava.endorsed.dirs="%CATALINA_HOME%/lib/endorsed" -Dcatalina.base=%CATALINA_BASE% -Dcatalina.home=%CATALINA_HOME% -Dfile.encoding=UTF-8  -Djava.util.logging.config.file=jdk_logging.properties -Djava.io.tmpdir="${HYBRIS_TEMP_DIR}"

0
投票

您可以使用-Xmx size命令行参数配置最大堆大小。默认情况下,它是64mb。你看到的1.9米看起来很奇怪。

以下是java命令的Oracle doc:https://docs.oracle.com/javase/8/docs/technotes/tools/windows/java.html

特别:

-Xmxsize

Specifies the maximum size (in bytes) of the memory allocation pool in bytes. This value must be a multiple of 1024 and greater than 2 MB. Append the letter k or K to indicate kilobytes, m or M to indicate megabytes, g or G to indicate gigabytes. The default value is chosen at runtime based on system configuration. For server deployments, -Xms and -Xmx are often set to the same value. See the section "Ergonomics" in Java SE HotSpot Virtual Machine Garbage Collection Tuning Guide at http://docs.oracle.com/javase/8/docs/technotes/guides/vm/gctuning/index.html.

The following examples show how to set the maximum allowed size of allocated memory to 80 MB using various units:

-Xmx83886080
-Xmx81920k
-Xmx80m
The -Xmx option is equivalent to -XX:MaxHeapSize.
© www.soinside.com 2019 - 2024. All rights reserved.