Jenkins Build引发内存不足错误

xyhw6mcr  于 2022-09-20  发布在  Jenkins
关注(0)|答案(3)|浏览(971)

我们让Jenkins在EC2示例上运行。在进行构建时,我们看到以下错误:

17:29:39.149 [INFO] [org.gradle.api.Project] OpenJDK 64-Bit Server VM warning: INFO: os::commit_memory(0x00000007ac000000, 234881024, 0) failed; error='Cannot allocate memory' (errno=12)
17:29:39.150 [INFO] [org.gradle.api.Project] #

17:29:39.150 [INFO] [org.gradle.api.Project] # There is insufficient memory for the Java Runtime Environment to continue.

17:29:39.150 [INFO] [org.gradle.api.Project] # Native memory allocation (malloc) failed to allocate 234881024 bytes for committing reserved memory.

我对这个主题进行了研究,并尝试了各种设置,如增加堆内存、RAM和PermGenSize。以下是我目前在Jenkins上的记忆设置:

-Xms256m -Xmx2048m -XX:MaxPermSize=512m

我还有什么遗漏的东西导致了OOM吗?

92vpleto

92vpleto1#

我也卖过同样的问题。(我有ec2、t2.Micro、Ubuntu 14、Jenkins、Tomcat、Maven)。默认情况下,您没有交换空间。要确认这一点,请执行以下操作:

free -m

只要加一些就行了。尝试使用1 GB作为Begin。

sudo fallocate -l 1G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile

再次检查:

free -m

有关更多详细信息,请查看here

envsm3lx

envsm3lx2#

这不是JVM级别的内存问题,而是操作系统级别的内存问题。JVM尝试分配224MB,但在操作系统级别上没有这个内存量。当JVM的-Xmx设置大于系统中的空闲内存量时,就会发生这种情况。检查操作系统中的空闲内存量,限制当前JVM的内存,使其在空闲内存内,或者尝试释放内存(通过限制其他进程使用的内存量),或者尝试使用更多内存的EC2示例。

drnojrws

drnojrws3#

如果您的Jules构建因内存不足而失败,请执行以下步骤:

1.增加清单.yml文件中的内存大小

前内存:4.270M(此处增加)

1.将MAVEN_OPTS添加到jules.yml文件的配置参数中

享受:)

相关问题