View Least Load plugin on the plugin site for more information. |
|---|
This plugin overrides the default Load Balancer behavior and assigns jobs to nodes with the least load
Overview
By default Jenkins tries to allocate a jobs to the last node is was executed on. This can result in nodes being left idle while other nodes are overloaded. This plugin overrides the default behavior and assigns jobs to nodes with the least load. The least load is defined as a node that is idle or the one with the most available executors. It is intended to provide the same functionality as the commercial plugin Even Scheduler Plugin
Configuration
The plugin requires no global configuration it will just replace the default load balancer at startup. Jobs can be configured to utilize the default Jenkins load balancer if required.
Changelog
Version 1.0.3
- Reduced required core version to 1.480
Version 1.0.2
- Improve load balancing when jobs called from multi-configuration project JENKINS-18323
Version 1.0.1
- Fixed issue with old job configurations defaulting back to default Load Balancer
Version 1.0.0
- Initial Release

3 Comments
Stuart Smith
Good idea for an extension - is there a way to take into account the actual load on the CPU on each machine as well though, in addition to what the other executors on each machine may be doing? In our environment, a jenkins slave may also have other processes running on it that are consuming the CPU, so it's important to be able to select a machine that is currently not under load.
David Aldrich
We also have the situation where slaves may be running processes not owned by Jenkins. The ability to recognise actual cpu load would be really useful.
spring uper
when this plugin choose a idle slave, whether it will check the slave in the building project's restriction or not?
for example:
the confirmation of projectA is restricted to host which label "java6", when the least load plugin chooses a candidate slave ,does it check the candidate's label.