Issue
-
Get in Jenkins a stacktrace which says java.lang.OutOfMemoryError: PermGen space.
-
How to configure the windows agents java heap settings
-
PermGen Space issue while deploying CloudBees Jenkins Operations Center
Resolution
You might need to increase the PermGen in case you have a value under 512m, which should be enough.
They way you can modify this value depends on the distribution and depending on the agent type
controller
-
In RedHat, for example, you can do it under /etc/sysconfig/jenkins using the variable JENKINS_JAVA_OPTIONS… i.e JENKINS_JAVA_OPTIONS="-XX:MaxPermSize=512m".
-
In Ubuntu, the Jenkins configuration file is under /etc/default/jenkins and the variable to configure is JAVA_ARGS … i.e JAVA_ARGS="-XX:MaxPermSize=512m".
Agent
Sometimes agent machines will require permgen to be increased. Depending on the type of agent that is configured will require a different method for setting any java argument.
-
With SSH Agents, the java process is started using an SSH command, so the "-XX:MaxPermSize=512m" can be set in the JVM Options in the Node configuration page.
-
With JNLP Agents launching as a service on linux, you can add the VM arguments to the startup scripts (usually in /etc/sysconfig/jenkins or /etc/default/jenkins as part of the JAVA_ARGS variable)
-
With JNLP Agents launching as a service on Windows requires modifications to be made on the jenkins.xml file which is located on agent machine in the JENKINS_HOME directory.