Jenkins Maven Build 137 错误

2022-09-01 00:09:34

我有一个 Maven 项目,它在 Jenkins 中构建了 6 个单独的 Maven 项目。我面临的问题是,随着时间的推移,项目构建失败,给出137错误代码:

错误:Maven JVM 意外终止,退出代码为 137

该项目可以在控制台中使用相同的 Maven 目标成功构建,但在 Jenkins 中却失败了。通过重新启动 Jenkins,可以解决问题。

我有一些静态数组列表。这些列表用于某些测试用例。这可能是内存泄漏吗?


答案 1

我在构建服务器上遇到了相同的行为。恕我直言,该错误与maven内存设置(即)无关,而是与底层(Linux)机器本身的内存(Jenkins运行)相关联。MAVEN_OPTS

(被拒绝的)詹金斯问题 https://jenkins-ci.org/issue/12035 提供了有关此事的更多详细信息:

作为参考,状态代码137(128 + 9)通常意味着(在unix的风格之间可能有所不同)。该过程因收到信号而终止。在本例中,信号 9 是 SIGKILL 和不可阻止的 kill。

如果是这种情况,底层计算机/操作系统需要更多的虚拟内存。这可以通过根据需要添加物理内存或交换空间来添加。

您应该尝试增加计算机的虚拟内存。

注意:
这也解释了为什么 Jenkins 重新启动(暂时)可以解决问题。


答案 2

我认为您应该增加内存设置的值 - 例如,在 Jenkins 机器上MAVEN_OPTS

MAVEN_OPTS=-Xmx1.5G -XX:MaxPermSize=0.7G 

推荐