<!DOCTYPE html><html><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  </head>
  <body>
    On 24/06/2024 18:24, Matthew Swift wrote:<br>
    <blockquote type="cite" cite="mid:CANGKH61giOPP897upuxoFiOGty7WLB29UEcntqn9rcqj7jN5nA@mail.gmail.com">
      
      <div dir="ltr">:<br>
        <div class="gmail_quote">
          <blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><br>
          </blockquote>
          <div><br>
          </div>
          <div>I reran the test and executed the above command once per
            second for 10 seconds:</div>
          <div><br>
          </div>
          <div>$ for i in 1 2 3 4 5 6 7 8 9 10; do jcmd DirectoryServer
            Thread.vthread_scheduler; sleep 1; done<br>
            110886:<br>
            java.util.concurrent.ForkJoinPool@3a7204cd[Running,
            parallelism = 20, size = 20, active = 13, running = 0,
            steals = 17676052, tasks = 0, submissions = 0]<br>
            110886:<br>
            java.util.concurrent.ForkJoinPool@3a7204cd[Running,
            parallelism = 20, size = 20, active = 16, running = 0,
            steals = 17784106, tasks = 1, submissions = 0]<br>
            110886:<br>
            java.util.concurrent.ForkJoinPool@3a7204cd[Running,
            parallelism = 20, size = 20, active = 20, running = 1,
            steals = 17887000, tasks = 1, submissions = 0]<br>
            110886:<br>
            java.util.concurrent.ForkJoinPool@3a7204cd[Running,
            parallelism = 20, size = 20, active = 15, running = 1,
            steals = 17984238, tasks = 1, submissions = 0]<br>
            110886:<br>
            java.util.concurrent.ForkJoinPool@3a7204cd[Running,
            parallelism = 20, size = 20, active = 9, running = 0, steals
            = 18082247, tasks = 0, submissions = 0]<br>
            110886:<br>
            java.util.concurrent.ForkJoinPool@3a7204cd[Running,
            parallelism = 20, size = 20, active = 9, running = 0, steals
            = 18201916, tasks = 0, submissions = 0]<br>
            110886:<br>
            java.util.concurrent.ForkJoinPool@3a7204cd[Running,
            parallelism = 20, size = 20, active = 20, running = 0,
            steals = 18302449, tasks = 2, submissions = 0]<br>
            110886:<br>
            java.util.concurrent.ForkJoinPool@3a7204cd[Running,
            parallelism = 20, size = 20, active = 1, running = 0, steals
            = 18416910, tasks = 0, submissions = 0]<br>
            110886:<br>
            java.util.concurrent.ForkJoinPool@3a7204cd[Running,
            parallelism = 20, size = 20, active = 13, running = 0,
            steals = 18516576, tasks = 0, submissions = 0]<br>
            110886:<br>
            java.util.concurrent.ForkJoinPool@3a7204cd[Running,
            parallelism = 20, size = 20, active = 14, running = 0,
            steals = 18602916, tasks = 0, submissions = 0]<br>
          </div>
          <div><br>
          </div>
          <div>I won't pretend to understand what this means :-)</div>
          <br>
        </div>
      </div>
    </blockquote>
    Thanks, I mostly wanted to see the values for the "tasks" and
    "submissions" in the output. These are the number of virtual threads
    that are waiting to execute in both local queues and unowned
    submission queues. There are 0, except for the sample where all 20
    workers are active and 2 virtual threads have been unparked and are
    waiting to continue. So that doesn't explain the outliers you see.<br>
    <br>
    -Alan<br>
  </body>
</html>