Instable builds related to low memory
Hi everyone, There is a problem I have been struggling with Jenkins. I tried different CI servers but none of them offers the same features Jenkins has, so I want to use it. I have a small Rackspace CloudServer instance with 256MB RAM and running Jenkins with Apache Tomcat 7 in that server. Using Maven 2 and Git plugins of Jenkins. The problem is, either Maven JVM exits with the code 137 (when forking is enabled) or I get mysterious crashes. I know that the 256MB of RAM may not be enough for Jenkins; but the thing is: even when I am running Jenkins, I can build the project via command line in a short period of time. My project involves some heavy servers, and generally the test are failing with Jenkins. If I can build the project via command line just fine when the Jenkins server is running (meaning more than one JVM), isn't that a problem with the Jenkins? I tried different combinations of fork configurations and Maven JVM settings, even when build is OK for once, then it fails in subsequent builds. I even set maximum number of builds to keep to 3, but it didn't help. Any comments are appreciated. Best regards, Deniz
Re: Instable builds related to low memory
Hi, Did you try to try Java heap size via the Java options (advanced section) of the step config parameters using Xnx and Xms ? That should solve your issue. [I dodn't think the size of physical real memory really matters for completion: even if you allocate more heap than physical memory, your server will paginate and extend duration but it should go to end with the right settings of Xmx / Xms. I would also recommend you to install the Jenkins monitoring plugin based on Java Melody: very useful to follow memory comsumption regards didier Le vendredi 9 mars 2012 12:47:25 UTC+1, dacay a écrit : Hi everyone, There is a problem I have been struggling with Jenkins. I tried different CI servers but none of them offers the same features Jenkins has, so I want to use it. I have a small Rackspace CloudServer instance with 256MB RAM and running Jenkins with Apache Tomcat 7 in that server. Using Maven 2 and Git plugins of Jenkins. The problem is, either Maven JVM exits with the code 137 (when forking is enabled) or I get mysterious crashes. I know that the 256MB of RAM may not be enough for Jenkins; but the thing is: even when I am running Jenkins, I can build the project via command line in a short period of time. My project involves some heavy servers, and generally the test are failing with Jenkins. If I can build the project via command line just fine when the Jenkins server is running (meaning more than one JVM), isn't that a problem with the Jenkins? I tried different combinations of fork configurations and Maven JVM settings, even when build is OK for once, then it fails in subsequent builds. I even set maximum number of builds to keep to 3, but it didn't help. Any comments are appreciated. Best regards, Deniz
Re: Instable builds related to low memory
Exit code 137 = 128 + 9 = The process died because it received a signal and the signal was 9 which is SIGKILL. SIGKILL is the signal Linux out-of-memory killer uses to get rid of memory hogs. It sure sounds like you might not have enough memory. But I cannot answer why it takes more memory when Jenkins runs maven. Maybe Jenkins starts multiple jvms? You could also create a freestyle job and run the mvn build from a shell build step and see how that turns out. -- Sami 2012/3/9 Deniz Acay deniza...@gmail.com: Hi everyone, There is a problem I have been struggling with Jenkins. I tried different CI servers but none of them offers the same features Jenkins has, so I want to use it. I have a small Rackspace CloudServer instance with 256MB RAM and running Jenkins with Apache Tomcat 7 in that server. Using Maven 2 and Git plugins of Jenkins. The problem is, either Maven JVM exits with the code 137 (when forking is enabled) or I get mysterious crashes. I know that the 256MB of RAM may not be enough for Jenkins; but the thing is: even when I am running Jenkins, I can build the project via command line in a short period of time. My project involves some heavy servers, and generally the test are failing with Jenkins. If I can build the project via command line just fine when the Jenkins server is running (meaning more than one JVM), isn't that a problem with the Jenkins? I tried different combinations of fork configurations and Maven JVM settings, even when build is OK for once, then it fails in subsequent builds. I even set maximum number of builds to keep to 3, but it didn't help. Any comments are appreciated. Best regards, Deniz
Re: Instable builds related to low memory
On 03/09/2012 08:20 PM, Sami Tikka wrote: Exit code 137 = 128 + 9 = The process died because it received a signal and the signal was 9 which is SIGKILL. SIGKILL is the signal Linux out-of-memory killer uses to get rid of memory hogs. It sure sounds like you might not have enough memory. But I cannot answer why it takes more memory when Jenkins runs maven. Maybe Jenkins starts multiple jvms? You could also create a freestyle job and run the mvn build from a shell build step and see how that turns out. -- Sami 2012/3/9 Deniz Acaydeniza...@gmail.com: Hi everyone, There is a problem I have been struggling with Jenkins. I tried different CI servers but none of them offers the same features Jenkins has, so I want to use it. I have a small Rackspace CloudServer instance with 256MB RAM and running Jenkins with Apache Tomcat 7 in that server. Using Maven 2 and Git plugins of Jenkins. The problem is, either Maven JVM exits with the code 137 (when forking is enabled) or I get mysterious crashes. I know that the 256MB of RAM may not be enough for Jenkins; but the thing is: even when I am running Jenkins, I can build the project via command line in a short period of time. My project involves some heavy servers, and generally the test are failing with Jenkins. If I can build the project via command line just fine when the Jenkins server is running (meaning more than one JVM), isn't that a problem with the Jenkins? I tried different combinations of fork configurations and Maven JVM settings, even when build is OK for once, then it fails in subsequent builds. I even set maximum number of builds to keep to 3, but it didn't help. Any comments are appreciated. Best regards, Deniz I could increase the memory, but doing so just for Jenkins is not acceptable for me. I am trying others' suggestions too. If none of them works out, I may create a freestyle shell job to do the work as you suggested, as a last resort. Thanks for answer! Best, Deniz