在Jenkins中构建Maven项目时出现 OutOfMemoryExeption:Permgern space 问题。 在构建过程结束时,消息显示为" Build Success" 。但是在下面的那行之后错误msg正在打印。 致命错误:Permgern空间 一旦这个例外出现,每次整个詹金斯都被绞死,即没有 詹金斯的相应页面,即使仪表板没有打开。
以下是Jenkins的命令行参数错误。 Java HotSpot(TM)64位服务器VM警告:异常java.lang.OutOfMemoryError 发生处理程序未知的调度信号 - 虚拟机可能需要强行终止。
以下是来自控制台O / P的错误详细信息 -
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building EmployeeInformation 0.0.1-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] ------------------------------------------------------------------------
**[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 0.161 s
[INFO] Finished at: 2016-09-11T00:55:52+05:30
[INFO] Final Memory: 5M/76M**
[INFO] ------------------------------------------------------------------------
Parsing POMs
Established TCP socket on 49708
[Employee_Management] $ "C:\Program Files\Java\jdk1.7.0_03/bin/java" -cp "C:\Users\pc\.jenkins\plugins\maven-plugin\WEB-INF\lib\maven32-agent-1.7.jar;C:\Program Files\Apache\maven\apache-maven-3.3.9\boot\plexus-classworlds-2.5.2.jar;C:\Program Files\Apache\maven\apache-maven-3.3.9/conf/logging" jenkins.maven3.agent.Maven32Main "C:\Program Files\Apache\maven\apache-maven-3.3.9" C:\Users\pc\.jenkins\war\WEB-INF\lib\remoting-2.62.jar C:\Users\pc\.jenkins\plugins\maven-plugin\WEB-INF\lib\maven32-interceptor-1.7.jar C:\Users\pc\.jenkins\plugins\maven-plugin\WEB-INF\lib\maven3-interceptor-**commons-1.7.jar 49708
FATAL: PermGen space
Exception in thread "main" java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
FATAL: PermGen space**
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at jenkins.maven3.agent.Maven32Main.main(Maven32Main.java:144)
at jenkins.maven3.agent.Maven32Main.main(Maven32Main.java:74)
Caused by: java.io.EOFException: unexpected stream termination
at hudson.remoting.ChannelBuilder.negotiate(ChannelBuilder.java:365)
at hudson.remoting.ChannelBuilder.build(ChannelBuilder.java:310)
at hudson.remoting.Launcher.main(Launcher.java:530)
at hudson.remoting.Launcher.main(Launcher.java:513)
at hudson.remoting.Launcher.main(Launcher.java:504)
at hudson.remoting.Launcher.main(Launcher.java:500)
... 6 more
以下是我试图解决的一些可能步骤 - (1)在POM.XML下面添加标签。 attached image link for Changed permgern space configuration in POM.xml (2)在环境变量中设置JAVA_OPTS。 attached image link for setting enviromental variables
但是,不幸的是,他们都没有工作。还有问题。 在搜索了一些地方之后,我知道了 -XX:PermSize = 256m -XX:MaxPermSize = 512m 声明将解决问题。但我不确定何处和如何以提供上述声明。
伙计们,Plz通过我附上的链接,让我知道如果我做错了什么。 任何帮助将不胜感激。
BR // Abinash
答案 0 :(得分:1)
将您的选项添加到 _JAVA_OPTIONS
环境变量中 - 这肯定会有效。
否则,为了在Maven构建环境中自定义编译器选项,有几种可能性。有关概述,请参阅this question。