Jenkins Server Java.exe memory is growing very fast -


We are running Jenkins servers with some slaves who run the build. Recently there are more and more constructions that are running at the same time. I am seeing the java.exe process on the Jenkins server, is increasing and not being reduced even when the jobs are over.

Any ideas can be this?

We are running Jenkins ver 1.501

Is there no way to make Jenkins server service, until the last job is finished, then restart automatically?

I can not find a reference on this (still posting an answer because it comments Is too long ;-)) But it is I Oracle JVM:

If more storage is required than currently reserved, then JVM is more secure. So far, so good. It does not seem to do this, after releasing the memory it is not needed. You can see this behavior by changing the size of the pile size in ELLESE.

I can say that this happens with Jenkins only Jenkins, with some projects, can already jump 1 gig mark. If you have multiple concurrent production, Jenkins needs a lot of storage at some point. After the construction and the size of the stack has decreased, JVM keeps the memory reserve. It is practically "empty" but still claimed by JVM, so it is unavailable for other processes.

Again: this is just an overview I would be glad if someone with a deep insight on Java Memory Management will return it (or deny it)

For a practical solution I say I have to stay at some point with it. Jenkins is very hungry for memory, restarting it only temporarily solves the problem, at least it should stop claiming memory at some point because "blank" reserved memory should be reused. If it is not, then it really looks like a memory leak and will be a bug.


Comments