“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不足够吗?