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

High CPU load at slave with SSH-agent running freestyle project

XMLWordPrintable

    • Icon: Improvement Improvement
    • Resolution: Unresolved
    • Icon: Minor Minor
    • remoting
    • None
    • Jenkins ver. 2.164.3,
      Slave: OS: Ubuntu 18.04 LTS, JDK: OpenJDK 1.8.0_212-8u212-b03-0ubuntu1.18.04.1-b03

      When running "freestyle project" (gmake) at slave, java takes high CPU percentage: from 40% to even 70%, 50% maybe considered average.

      The load does not depend on build-process output.

      Easy way to reproduce:

      1) Create repository with single Makefile that just waits:

      all:
          sleep 300

      2) Create jenkins "freestyle project" with single build step:

      make

      3) Execute the build at node

      What you would see at slave is java process taking about 50% CPU waiting for process that does nothing.

      I tried various options for agent including http://-dhudson.remoting.remoteinvocationhandler/$Unexporter.retainOrigin=false, but it makes no difference.

       I've run remoting with profiler. Unfortunately I don't have results saved and it's hard for me to repeat this investigation right now, but I remember that most CPU was consumed for I/O read attempts. Child process output stream polling? Anyway - one can easily reproduce it as described above.

      This affects make-style (freestyle builds) only. E.g. for maven builds, remoting process behaves correctly, I mean it takes few % of CPU.

      I create it as "Improvement" as it allows builds to run SOMEHOW. But, frankly speaking, for me heating CPU for nothing is a bug. Besides, we have some builds which involve timing-tests - for these ones this is KO as tests cannot complete in such heavily-loaded environment.

       

       

       

            Unassigned Unassigned
            macmac Maciej Maczynski
            Votes:
            1 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated: