“Java运行时环境没有足够的内存继续” - maven build - Intelllij [重复]

Posted

技术标签:

【中文标题】“Java运行时环境没有足够的内存继续” - maven build - Intelllij [重复]【英文标题】:"There is insufficient memory for the Java Runtime Environment to continue" - maven build - Intelllij [duplicate] 【发布时间】:2021-10-27 08:55:02 【问题描述】:

(PS:请不要将此标记为与 eclipse 类似问题的重复。这是 Intellij 面临的不同问题)

使用此命令mvn clean package -Djacoco.skip=true -Dcobertura.skip=true -DskipClassConflictsReporter -DskipTests -P release,我的项目构建时间约为 10 到 15 分钟 并且每当我使用 Intellij 终端构建我的项目时,它都会第一次成功,但第二次失败并出现以下错误。为了解决这个问题,我要么重新启动我的 intellij:

# There is insufficient memory for the Java Runtime Environment to continue.
# Native memory allocation (malloc) failed to allocate 720096 bytes for Chunk::new
# An error report file with more information is saved as:
# C:\myserviceproject\hs_err_pid18800.log
#
# Compiler replay data is saved as:
# C:\myserviceproject\replay_pid18800.log

我已将 3GB 设置为我的 -Xmx 内存,但我仍然面临这个困扰我的错误。有人可以帮忙吗

【问题讨论】:

那么,您的系统中有多少可用内存?发生这些崩溃时使用了多少? 我猜 Maven 内存不必包含在 Intellij 内存指示器中。当您更改内存属性时,数字是否发生了变化?如果您重新运行所有任务,我猜每次构建都应该占用相似数量的内存。 这不是解决你的问题吗? ***.com/a/22805787/16497617 @ManeeshaIndrachapa - 好吧......如果“购买更多内存”是一个解决方案,是的:-) 我的 windows 机器有 16GB 内存。在 Intellij 的右下角(附上小图),我注意到当它崩溃时,它使用的内存不会超过 1000M。我不认为这会显示构建过程使用的内存,因为它总是小于 3GB @Hulk 【参考方案1】:

您向 IntelliJ JVM 实例添加了堆。

您必须通过export JAVA_OPTS=-Xmx3g 设置选项将其添加到命令行JVM,以允许独立的mvn 使用它。

您也可以发出单行命令JAVA_OPTS=-Xmx3g mvn <arguments>

【讨论】:

也许是,也许不是。请注意,这是 JVM 崩溃而不是 OOME。我认为 JVM 已经要求操作系统提供更多内存并且操作系统拒绝了。如果发生这种情况,增加 Java 最大堆大小将无济于事。 JVM 不能要求比 Xmx 更多的内存。请试一试... 这不是我要说的。我认为 JVM 正在尝试分配更多的堆外内存,但操作系统的 RAM / Swap 空间已用完。 可能,但在这种情况下,您应该在 maven 运行期间监视系统可用内存/交换。不是吗? 我在帖子中添加了一个替代方案。

以上是关于“Java运行时环境没有足够的内存继续” - maven build - Intelllij [重复]的主要内容,如果未能解决你的问题,请参考以下文章

为什么我们使用混合AR和MA模型的ARMA模型。 AR或MA不足够吗?

腾达w311ma怎么用

如何通过单片机输出标准的4到20mA的电流

华为MA5620配置宽带及语音实例

华为ma5680t OLT 怎么配置华为5620-16 epon交换机 谢谢 高分送上

代做公式选股指标公式帮做代做公式选股30分钟均线模型-文华财经公式