Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-19458

Jenkins High Memory Usage: CvsRevisionState

    Details

    • Similar Issues:

      Description

      • 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...

        Attachments

          Activity

          Hide
          cyberphoo 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...

          Show
          cyberphoo 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...
          Hide
          cyberphoo Omair Inam added a comment -

          Here's what our heap memory usage looks like

          Show
          cyberphoo Omair Inam added a comment - Here's what our heap memory usage looks like
          Hide
          mc1arke 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.

          Show
          mc1arke 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.
          Hide
          sc_rsc Stefan Cordes added a comment -

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

          Show
          sc_rsc Stefan Cordes added a comment - Please check if MavenModuleSetBuild -> CopyOnWriteArrayList -> CvsRevisionState can be set to null?
          Hide
          sc_rsc 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

          Show
          sc_rsc 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
          Hide
          scm_issue_link 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

          Show
          scm_issue_link 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

            People

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

              Dates

              • Created:
                Updated:
                Resolved: