Jenkins fonctionne à très haute utilisation du processeur
J'ai récemment mis à niveau à partir de Jenkins de 1,6 à 2,5. Après je l'ai fait, j'ai remarqué une très forte utilisation du PROCESSEUR, parfois de plus de 300% (il y a seulement 4 cores, donc je ne pense pas que ça puisse aller plus de 400%). Je ne suis pas sûr de l'endroit où pour commencer le débogage cela, mais voici un thread dump et quelques captures d'écran de haut/htop
htop
haut:
source d'informationauteur Matt Korostoff
Vous devez vous connecter pour publier un commentaire.
Comme il s'est avéré, mon problème est que plusieurs des emplois à des milliers de vieilles versions. C'était bien dans Jenkins 1.6 mais c'est un problème dans la version 2.5 (je suppose que peut-être Jenkins essaie de charger toutes les versions en mémoire lorsque vous affichez l'aperçu du poste de la page). Pour le fixer, j'ai juste supprimé la plupart de la vieille construit à partir de la le problème des emplois l'utilisation de cette stratégie et puis rechargée jenkins. A travaillé comme un charme!
J'ai aussi mis le "jeter les vieux construit" plugin pour ne garder que les 50 dernières builds, pour empêcher que cela se produise à nouveau.
Lorsqu'une requête arrive, Jenkins se frayer certains threads de répondre à la requête. Après la mise à niveau Jenkins, qu'elle puisse invoquer à haut régime à ce moment. Plz vérifier la CPU et de la mémoire de Jenkins serveur tandis que les scénarios suivants :
Et de comparer les comportements qui pourraient vous aider à déterminer si Jenkins ou l'exécution de jenkins en parallèle avec d'autres applications font de réels problèmes.
@Vlp dit, essayer de contrôler l'jenkins application via JVisualVM avec Jstad configuration de crochet. Consultez cette lien pour Configurer JvisualVM avec Jstad.
De 2,5 semble être une version de développement, tandis que le 1.6 est leur Soutien à Long Terme de la version. Ainsi, il semble logique que vous devriez vous attendre à quelques régressions lors de l'utilisation de l'hémorragie version de bord. Le bounty sur cette question est la preuve que d'autres utilisateurs rencontrant ce ainsi. La solution est de signaler un bug sur le Jenkins bug tracker. Vous pouvez temporairement revenir à la bonne version connue pour l'instant.