Instable builds related to low memory

2012-03-09 Thread Deniz Acay

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

2012-03-09 Thread Didier Durand
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

2012-03-09 Thread Sami Tikka
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

2012-03-09 Thread Deniz Acay

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