Jenkins on OpenJDK vs Oracle JDK?

3,286 views
Skip to first unread message

Klaus Schniedergers

unread,
Dec 11, 2013, 7:56:34 PM12/11/13
to jenkins...@googlegroups.com
Hi,

do you have experiences and opinions on whether to run Jenkins on
Oracle's JDK vs OpenJDK?
This is just for the master - most of our builds are not Java related.

Which JDK flavor are most of the core developers using (assuming that
that one is better tested and supported)?

https://wiki.jenkins-ci.org/display/JENKINS/Installing+Jenkins+on+Ubuntu
seems to recommend OpenJDK 7, but that could be mostly to it being
easier to install due to licensing issues?

Thanks!

Mark Waite

unread,
Dec 11, 2013, 10:39:25 PM12/11/13
to jenkins...@googlegroups.com

There were versions of OpenJDK 6 which did not run Jenkins well for me. The Oracle JDK has always run it well.

I have been using OpenJDK 7 on some machines and Oracle JDK 7 on others with equally good results.

Mark Waite

--
You received this message because you are subscribed to the Google Groups "Jenkins Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-use...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

JonathanRRogers

unread,
Dec 13, 2013, 4:49:11 PM12/13/13
to jenkins...@googlegroups.com
On Wednesday, December 11, 2013 10:39:25 PM UTC-5, Mark Waite wrote:

There were versions of OpenJDK 6 which did not run Jenkins well for me. The Oracle JDK has always run it well.

I have been using OpenJDK 7 on some machines and Oracle JDK 7 on others with equally good results.


What issues did you have? I've been running Jenkins on CentOS with the provided OpenJDK 6. I've had issues with Jenkins from time to time, but none were obviously related to the JVM. This is the version I'm currently using:

java version "1.6.0_24"
OpenJDK Runtime Environment (IcedTea6 1.11.11.90) (rhel-1.62.1.11.11.90.el6_4-i386)
OpenJDK Server VM (build 20.0-b12, mixed mode)

Mark Waite

unread,
Dec 13, 2013, 5:22:08 PM12/13/13
to jenkins...@googlegroups.com
Development on OpenJDK 1.6.0_24 shows compiler bugs in https://issues.jenkins-ci.org/browse/JENKINS-15165 

1.480.1 LTS testing on OpenJDK 1.6.0_20 on Debian Squeeze ran poorly enough that I noted it in the https://wiki.jenkins-ci.org/display/JENKINS/LTS+1.480.x+RC+Testing wiki page.  No details listed, just that it was problematic.  In that same time, OpenJDK7 was used for many of the tests in that LTS with good results.

Mark Waite


Les Mikesell

unread,
Dec 13, 2013, 5:47:28 PM12/13/13
to jenkinsci-users
On Fri, Dec 13, 2013 at 4:22 PM, Mark Waite <mark.ea...@gmail.com> wrote:
> Development on OpenJDK 1.6.0_24 shows compiler bugs in
> https://issues.jenkins-ci.org/browse/JENKINS-15165

I think that's compiling jenkins, not just running it.

> 1.480.1 LTS testing on OpenJDK 1.6.0_20 on Debian Squeeze ran poorly enough
> that I noted it in the
> https://wiki.jenkins-ci.org/display/JENKINS/LTS+1.480.x+RC+Testing wiki
> page. No details listed, just that it was problematic. In that same time,
> OpenJDK7 was used for many of the tests in that LTS with good results.

I don't know about this specific case (or even how they handle java in
general), but it is common for Red Hat to backport fixes and updates
without changing the base version numbers on their packages so it
fairly hard to match up bugs with versions in RHEL/Centos unless you
look through the RPM changelog.

--
Les Mikesell
lesmi...@gmail.com

Daniel Beck

unread,
Dec 14, 2013, 6:34:53 AM12/14/13
to jenkins...@googlegroups.com
On RHEL 6 OpenJDK 7, jmap doesn't (or didn't) work:
http://stackoverflow.com/q/16587460

So I switched to Oracle, which didn't have this issue. No idea whether it's RHEL specific or a general OpenJDK issue though.

Jonathan Rogers

unread,
Dec 14, 2013, 6:41:38 AM12/14/13
to jenkins...@googlegroups.com
What does this have to do with running Jenkins? AFAICT, jmap is a
debugging tool. It may be useful for Jenkins developers, but does it
have any relevance to running Jenkins ordinarily?
--
Jonathan Rogers

Daniel Beck

unread,
Dec 14, 2013, 7:55:57 AM12/14/13
to jenkins...@googlegroups.com, jonatha...@gmail.com
I like my -XX:MaxPermSize java argument to be bigger than what these tools report over long term is the maximum actual permanent generation size. I expect fewer 'OutOfMemoryError: PermGen space' that way.

They might also help finding the responsible plugin if things go wrong so it doesn't happen twice. It's not like ugly problems don't surface from time to time in Jenkins, especially if you're using many plugins. And I cannot arbitrarily restart my instance if things like these occur due to very long running builds that shouldn't be aborted.

I started out with OpenJDK, then had some issue and tried using jmap to investigate, and got the error message. Not a great experience. So unless you can point to something OpenJDK is actually better in, I prefer the JVM with tools that aren't known to be broken.

Jonathan Rogers

unread,
Dec 14, 2013, 3:22:49 PM12/14/13
to Daniel Beck, jenkins...@googlegroups.com
That's good to know about finding a good MaxPermSize argument. I'm not
that experienced running JVMs so I wasn't aware of that parameter. The
Jenkins wiki doesn't seem to mention it except in referring to Oracle
docs. I don't think I've come across 'OutOfMemoryError: PermGen space'.
Is there a particular way of using Jenkins is more likely to hit that?
Maybe I haven't had that problem because I don't rely on many plugins.
--
Jonathan Rogers

Les Mikesell

unread,
Dec 14, 2013, 3:32:20 PM12/14/13
to jenkinsci-users, Daniel Beck
On Sat, Dec 14, 2013 at 2:22 PM, Jonathan Rogers
<jonatha...@gmail.com> wrote:
> That's good to know about finding a good MaxPermSize argument. I'm not
> that experienced running JVMs so I wasn't aware of that parameter. The
> Jenkins wiki doesn't seem to mention it except in referring to Oracle
> docs. I don't think I've come across 'OutOfMemoryError: PermGen space'.
> Is there a particular way of using Jenkins is more likely to hit that?
> Maybe I haven't had that problem because I don't rely on many plugins.
>
Also, if you run executors on the master, do they run in the main jvm
instance? I always run builds on slaves which might help with never
running out of memory.

--
Les Mikesell
lesmi...@gmail.com
Reply all
Reply to author
Forward
0 new messages