Hello,


J'utilise sur une machine une plateforme d'intégration continue classique, avec une JVM, un Tomcat (installé en service Windows), un Jenkins déployé dessus, un Maven3, et un Sonar.

Lorsque je lance le job Jenkins d'analyse checkstyle/pmd/findbugs sur mon projet (qui contient une quinzaine de modules), ça se termine en :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
FATAL: Java heap space
java.lang.OutOfMemoryError: Java heap space
L'erreur intervient après le BUILD SUCCESS, lors du parsing des fichiers de résultats checkstyle/pmd/findbugs générés. Le problème ne vient donc pas de Maven (un build maven hors Jenkins me le confirme) mais plutôt à mon avis de l'appli web Jenkins, qu'il faudrait doper un peu.


Je me doute avant même d'essayer qu'en jouant avec le Xmx et le Xms et en les faisant gonfler un peu, ça va corriger le problème

Mais moi ce que j'aimerais c'est comprendre un peu ce qui ne va pas et comment le détecter . Beaucoup de posts sur le forum traitent du OutOfMemory mais à chaque fois, si une solution est proposée, je n'ai rien trouvé qui permette d'identifier précisément le problème.


De mon côté je me pose plein de questions (peut-être bêtes) et j'espère que vous pourrez y répondre.

Comment savoir :

  • Si c'est un problème lié au dimensionnement de la JVM ?
  • Si c'est une erreur de configuration du Tomcat ?
  • Si c'est un problème lié à l'application Jenkins ?
  • Si c'est un problème d'allocation mémoire dans Maven ?


A partir des réponses je pourrais savoir quelle partie est sous-dimensionnée, et où poser la rustine, parce que je suppose que c'est inutile de gonfler par exemple la mémoire de Tomcat si la JVM est un cran en-dessous, non ?


Merci d'avance pour vos réponses