Hardware Requirements for Jenkins Enterprise

Here are some generic guidelines we sent out to a specific customer that has a sizable config:

The machine requirements on Jenkins installations differ based on the artifacts generated. Thus, there is no one-size fits all recommendation that we provide. However, here are some guidelines:

  1. Everything runs off JENKINS_HOME, so make sure there is enough disk space available and the disk can grow. If you run out of disk space, you will see failures. Some plugins take more space than others (e.g a report generating plugin vs a build plugin). The disk usage plugin helps determine usage.
  2. Have a beefy machine for Jenkins master & do not run slaves on the master machine. Every slave has certain memory allocated in the master JVM, so the bigger the RAM for the master, the better it is. We typically hear customers allocate 16G or so.
  3. Slaves tend to be run of the mill x86 boxes, typically you want them to have the same OS as the release platforms.

For reference, this presentation from Redhat shares their typical memory/machine requirements.

As for the HA feature this is simply two (or more) masters sharing the same JENKINS_HOME—you can read more about the plugin here.

Have more questions? Submit a request

3 Comments

  • 0
    Avatar
    Christian Häussler

    How are the Hardware Requirements for Jenkins Analytics (Elasticsearch Cluster)?

  • 0
    Avatar
  • 0
    Avatar
    Tim Winter

    My team has a pretty beefy jenkins setup (~200 executors), and we've been looking for how to tune our jenkins master to be most stable and efficient.

    Since last fall, we've been working towards a platonic ideal described in the following video that references real Jenkins clusters data from real users with very setups. I recommend the entire video, but I link directly to the "Ram Allocated to JVM Heap vs Executors" graph and complementary discussion:

    https://youtu.be/eGA8UuijgA4?t=677

    I agree that a larger Jenkins master machine would be valuable (at least 8 or 10GB of ram), but the jenkins world talk seems to recommend keeping heap size low and aiming for frequent, unnoticably small garbage collection routines to maintain high responsiveness from the master.

    The jenkins world video recommendations, and the recommandations in this article, appear to contradict. The statement, "so the bigger the RAM for the master, the better it is" is an approach we originally took, giving the Jenkins master so much ram our memory leaks had trouble filling all the available resources. When they did (usually during release week), the Jenkins master would have to perform "stop the world" garbage collection, which studdered in the Jenkins UI for anywhere from 30 seconds to indefinite amounts of time, requiring a jenkins hard restart.

    Any clarity on the recommendations here or concerns with the Jenkins World talk itself would be welcome- we're striving for the most stable Jenkins deployment we can make, and if more ram is what Jenkins needs, we have plenty to spare. Up to a point.

Please sign in to leave a comment.