Docker pipeline matrix usage of Jenkins node executor quota

Jenkins 2.541.3

My Jenkins pipeline (I’m both Jenkins administrator and pipeline developer) uses a matrix build with different docker agents on parallel paths. My Jenkins docker host nodes have an executor limit configured, but Jenkins is running multiple docker agents simultaneously without limiting them to the node executor constraint.

That behavior seems to have changed in the recent past, because I think I recall that Jenkins used to show executors running parts of jobs in the executor status view, and that is no longer the case. What matrix parallel docker build behavior should I expect with an executor limit configured? Has that behavior changed recently, or perhaps something else in my configuration that

My pipeline’s basic structure looks like this:

def getDockerImage(String os_spec) {
  // ...
}

pipeline {
  agent {
    label 'docker-host'
  } // agent

  stages {
    stage ('OS Matrix') {
      matrix {
        axes { axis { name 'OS'; values 'os_spec_1', 'os_spec_2', 'os_spec_3' } }
        agent { docker { label 'docker-host'; image getDockerImage("${env.OS}") } }
        stages {
          stage ('Build variants') {
            steps {
              sh 'make'
            }
          }
        } 
      }
    }
}

The behavior that I see with my docker-host nodes configured for 3 executors is that there are up to 3 jobs running at once, and as many running docker containers as might be necessary at that stage of the matrix for each job, up to as many as 9.

The behavior that I thought I would get, and that I thought was historically the case, is that each matrix docker agent would use up one executor slot, for a maximum of 3 docker containers simultaneously.