[在Jenkins中运行构建时,我遇到“ java / lang / OutOfMemoryError”
问题描述
2020-02-25 10:11:24.986 + 0000 [id = 79]信息hudson.model.AsyncPeriodicWork#lambda $ doRun $ 0:开始了maven-repo-cleanup2020-02-25 10:11:25.004 + 0000 [id = 79]信息hudson.model.AsyncPeriodicWork#lambda $ doRun $ 0:完成了maven-repo-cleanup。 14毫秒JVMDUMP039I正在处理转储事件“ systhrow”,详细信息“ java / lang / OutOfMemoryError”在2020/02/25 16:31:47-请稍候。JVMDUMP032I JVM使用'C:\ Users \ KumariRupam \ Documents \ jenkins \ core.20200225.163147.3284.0001.dmp'请求系统转储以响应事件JVMDUMP010I系统转储已写入C:\ Users \ KumariRupam \ Documents \ jenkins \ core.20200225.163147.3284.0001.dmpJVMDUMP032I JVM使用'C:\ Users \ KumariRupam \ Documents \ jenkins \ heapdump.20200225.163147.3284.0002.phd请求堆转储以响应事件JVMDUMP010I堆转储已写入C:\ Users \ KumariRupam \ Documents \ jenkins \ heapdump.20200225.163147.3284.0002.phdJVMDUMP032I JVM使用'C:\ Users \ KumariRupam \ Documents \ jenkins \ javacore.20200225.163147.3284.0003.txt'请求Java转储JVMDUMP010I将Java转储写入C:\ Users \ KumariRupam \ Documents \ jenkins \ javacore.20200225.163147.3284.0003.txtJVMDUMP032I JVM使用'C:\ Users \ KumariRupam \ Documents \ jenkins \ Snap.20200225.163147.3284.0004.trc'请求快照转储JVMDUMP010I将快照转储写入C:\ Users \ KumariRupam \ Documents \ jenkins \ Snap.20200225.163147.3284.0004.trcJVMDUMP013I已处理转储事件“ systhrow”,详细信息“ java / lang / OutOfMemoryError”。
请提供帮助。
思路一:
我没有您所遇到问题的完整上下文,但是也许在运行Maven构建时增加分配的内存可能会有所帮助:
mvn clean install -DargLine="-Xmx1536m"
这里是其他一些示例,您可以如何增加分配的内存:
- Strange Maven out of memory error
- Specifying Maven memory parameter without setting MAVEN_OPTS environment variable
思路二:
Jenkins Windows安装程序默认带有32位Java运行时。将其替换为64位版本并通过-Xmx
参数增加可用内存对我来说很有效。詹金斯机现在已经稳定运行了几个月。
如何将默认的32位Java运行时替换为64位的Java运行时:
-
Download OpenJDK 8 JRE(8u232-b09,x86_x64)
- ⚠️注意:较新的运行时可能会导致某些插件出现问题。参见Java requirements。
- 将ZIP文件提取到某些文件夹,通常为
C:\Program Files\Java\JRE8
- 编辑“ jenkins.xml”以指向JRE8(通常在
C:\Program Files (x86)\Jenkins
中):C:\Program Files\Java\JDK8\bin\java
如何为詹金斯增加可用内存:
- 在“ jenkins.xml”(通常在
-Xmx
中)增加参数C:\Program Files (x86)\Jenkins
的参数:-Xrs -Xmx1024m -Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle -jar "%BASE%\jenkins.war" --httpPort=8080 --webroot="%BASE%\war" - 这只是我的配置的一个示例,如果仍然崩溃,可以将
-Xmx
设置为更高的值。
上一篇:如何使用Java流过滤地图地图
下一篇:布尔如何排序? [关闭]