• Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Major Major
    • cvs-plugin
    • Jenkins 1.526, Windows (master)

      • Additional VM arguments
      • Jenkins is being run as a service with the following arguments:
      -Xms4096m -Xmx4096m -XX:PermSize=256m -XX:NewSize=200m -Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9010 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -jar "%BASE%\jenkins.war" --httpPort=8080
      

      Heap dump available here: http://www.sendspace.com/file/58aod4

      We're using CVS as our versioning system...

          [JENKINS-19458] Jenkins High Memory Usage: CvsRevisionState

          Omair Inam added a comment -

          A heap dump is showing 126 instances of CvsRevisionState taking up 840 MB of heap memory.... this seems rather high...

          Omair Inam added a comment - A heap dump is showing 126 instances of CvsRevisionState taking up 840 MB of heap memory.... this seems rather high...

          Omair Inam added a comment -

          Here's what our heap memory usage looks like

          Omair Inam added a comment - Here's what our heap memory usage looks like

          Could you give an idea about the number of repositories you have configured for your jobs, how many modules in each repository, and how many files in each module? This will have a significant bearing on the size of the change records we hold.

          Thanks.

          Michael Clarke added a comment - Could you give an idea about the number of repositories you have configured for your jobs, how many modules in each repository, and how many files in each module? This will have a significant bearing on the size of the change records we hold. Thanks.

          Stefan Cordes added a comment -

          Please check if
          MavenModuleSetBuild -> CopyOnWriteArrayList -> CvsRevisionState
          can be set to null?

          Stefan Cordes added a comment - Please check if MavenModuleSetBuild -> CopyOnWriteArrayList -> CvsRevisionState can be set to null?

          Stefan Cordes added a comment -

          Example reference tree to one CvsRevisionstate:

          this - value: hudson.scm.CvsRevisionState #23
          <- [3] - class: java.lang.Object[], value: hudson.scm.CvsRevisionState #23
          <- array - class: java.util.concurrent.CopyOnWriteArrayList, value: java.lang.Object[] #8136 (10 items)
          <- actions - class: hudson.maven.MavenModuleSetBuild, value: java.util.concurrent.CopyOnWriteArrayList #711
          <- referent - class: jenkins.model.lazy.BuildReference, value: hudson.maven.MavenModuleSetBuild #43
          <- value - class: java.util.TreeMap$Entry, value: jenkins.model.lazy.BuildReference #159
          <- left - class: java.util.TreeMap$Entry, value: java.util.TreeMap$Entry #1882
          <- right - class: java.util.TreeMap$Entry, value: java.util.TreeMap$Entry #1881
          <- root - class: java.util.TreeMap, value: java.util.TreeMap$Entry #1877
          <- byId - class: jenkins.model.lazy.AbstractLazyLoadRunMap$Index, value: java.util.TreeMap #1639
          <- index - class: hudson.model.RunMap, value: jenkins.model.lazy.AbstractLazyLoadRunMap$Index #69
          <- builds - class: hudson.maven.MavenModuleSet, value: hudson.model.RunMap #76
          <- value - class: java.util.TreeMap$Entry, value: hudson.maven.MavenModuleSet #19
          <- right - class: java.util.TreeMap$Entry, value: java.util.TreeMap$Entry #21472
          <- left - class: java.util.TreeMap$Entry, value: java.util.TreeMap$Entry #21465
          <- right - class: java.util.TreeMap$Entry, value: java.util.TreeMap$Entry #21464
          <- right - class: java.util.TreeMap$Entry, value: java.util.TreeMap$Entry #29661
          <- left - class: java.util.TreeMap$Entry, value: java.util.TreeMap$Entry #29660
          <- right - class: java.util.TreeMap$Entry, value: java.util.TreeMap$Entry #29674
          <- root - class: java.util.TreeMap, value: java.util.TreeMap$Entry #28491
          <- core - class: hudson.util.CopyOnWriteMap$Tree, value: java.util.TreeMap #8551
          <- items (Java frame) - class: hudson.model.Hudson, value: hudson.util.CopyOnWriteMap$Tree #1
          <- theInstance - class: jenkins.model.Jenkins, value: hudson.model.Hudson #1

          Stefan Cordes added a comment - Example reference tree to one CvsRevisionstate: this - value: hudson.scm.CvsRevisionState #23 <- [3] - class: java.lang.Object[], value: hudson.scm.CvsRevisionState #23 <- array - class: java.util.concurrent.CopyOnWriteArrayList, value: java.lang.Object[] #8136 (10 items) <- actions - class: hudson.maven.MavenModuleSetBuild, value: java.util.concurrent.CopyOnWriteArrayList #711 <- referent - class: jenkins.model.lazy.BuildReference, value: hudson.maven.MavenModuleSetBuild #43 <- value - class: java.util.TreeMap$Entry, value: jenkins.model.lazy.BuildReference #159 <- left - class: java.util.TreeMap$Entry, value: java.util.TreeMap$Entry #1882 <- right - class: java.util.TreeMap$Entry, value: java.util.TreeMap$Entry #1881 <- root - class: java.util.TreeMap, value: java.util.TreeMap$Entry #1877 <- byId - class: jenkins.model.lazy.AbstractLazyLoadRunMap$Index, value: java.util.TreeMap #1639 <- index - class: hudson.model.RunMap, value: jenkins.model.lazy.AbstractLazyLoadRunMap$Index #69 <- builds - class: hudson.maven.MavenModuleSet, value: hudson.model.RunMap #76 <- value - class: java.util.TreeMap$Entry, value: hudson.maven.MavenModuleSet #19 <- right - class: java.util.TreeMap$Entry, value: java.util.TreeMap$Entry #21472 <- left - class: java.util.TreeMap$Entry, value: java.util.TreeMap$Entry #21465 <- right - class: java.util.TreeMap$Entry, value: java.util.TreeMap$Entry #21464 <- right - class: java.util.TreeMap$Entry, value: java.util.TreeMap$Entry #29661 <- left - class: java.util.TreeMap$Entry, value: java.util.TreeMap$Entry #29660 <- right - class: java.util.TreeMap$Entry, value: java.util.TreeMap$Entry #29674 <- root - class: java.util.TreeMap, value: java.util.TreeMap$Entry #28491 <- core - class: hudson.util.CopyOnWriteMap$Tree, value: java.util.TreeMap #8551 <- items (Java frame) - class: hudson.model.Hudson, value: hudson.util.CopyOnWriteMap$Tree #1 <- theInstance - class: jenkins.model.Jenkins, value: hudson.model.Hudson #1

          Code changed in jenkins
          User: Michael Clarke
          Path:
          src/main/java/hudson/scm/AbstractCvs.java
          src/main/java/hudson/scm/CvsFile.java
          src/main/java/hudson/scm/CvsLog.java
          src/test/java/hudson/scm/CVSSCMTest.java
          http://jenkins-ci.org/commit/cvs-plugin/68bfea28a99adc2e6143be95dfcdccadbe2dcd3b
          Log:
          Merge pull request #30 from jglick/intern

          [FIXED JENKINS-19458] Intern CvsFile instances

          Compare: https://github.com/jenkinsci/cvs-plugin/compare/8ba48c2e839f...68bfea28a99a

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Michael Clarke Path: src/main/java/hudson/scm/AbstractCvs.java src/main/java/hudson/scm/CvsFile.java src/main/java/hudson/scm/CvsLog.java src/test/java/hudson/scm/CVSSCMTest.java http://jenkins-ci.org/commit/cvs-plugin/68bfea28a99adc2e6143be95dfcdccadbe2dcd3b Log: Merge pull request #30 from jglick/intern [FIXED JENKINS-19458] Intern CvsFile instances Compare: https://github.com/jenkinsci/cvs-plugin/compare/8ba48c2e839f...68bfea28a99a

            Unassigned Unassigned
            cyberphoo Omair Inam
            Votes:
            1 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated:
              Resolved: