title: Why bazel limit 24 actions running even if build option "--jobs=240" have set?
body: <p>I have configured a toolchain for distcc, parameters were forwarded through a wrapper script to distcc.</p>
  
  <p>distcc_wrapper_gcc.sh:</p>
  
  <pre><code>#!/bin/bash
  set -euo pipefail
  ccache distcc g++ "$@"
  </code></pre>
  
  <p>I want to start 240 parallel tasks like 'make -j240' before. the build command is:</p>
  
  <p><code>bazel build --action_env=HOME --action_env=DISTCC_HOSTS="***" --config=joint_compilation --jobs=240 target</code></p>
  
  <p>But the output is：
  <code>238 actions, 24 running</code></p>
  
  <p>If I set --jobs lower than 24, the number of running actions will equal to it, else there are up to 24 processes running no matter what value in the parameters. </p>
  
  <p>It really takes a long time to compile if there are only 24 actions running. 
  Is there a hard limit of the running actions? (This computer has 12 cpus and 2 threads per core)</p>
  
  <p>Is there a way to break or ignore this limit? </p>
  
  <hr>
  
  <p>below is the config content.</p>
  
  <p>.bazelrc</p>
  
  <pre><code># Create a new CROSSTOOL file for our toolchain.
  
  build:joint_compilation --crosstool_top=//toolchain:distcc
  
  # Use --cpu as a differentiator.
  
  build:joint_compilation --cpu=joint_compilation
  
  # Specify a "sane" C++ toolchain for the host platform.
  
  build:joint_compilation --host_crosstool_top=@bazel_tools//tools/cpp:toolchain
  </code></pre>
  
  <p>toolchain/BUILD</p>
  
  <pre><code>package(default_visibility = ['//visibility:public'])
  cc_toolchain_suite(
      name = "distcc",
      toolchains = {
          "joint_compilation": ":joint_compilation_toolchain",
          "distcc|joint_compilation": ":joint_compilation_toolchain",
      },
  )
  filegroup(name = "empty")
  
  filegroup(
  name = "all",
  srcs = [
     "distcc_wrapper_gcc.sh",
  ],
  )
  
  cc_toolchain(
      name = "joint_compilation_toolchain",
      toolchain_identifier = "joint_compilation-toolchain",
      all_files = ":all",
      compiler_files = ":all",
      cpu = "distcc",
      dwp_files = ":empty",
      dynamic_runtime_libs = [":empty"],
      linker_files = ":all",
      objcopy_files = ":empty",
      static_runtime_libs = [":empty"],
      strip_files = ":empty",
      supports_param_files = 0,
  )
  </code></pre>
  
  <p>toolchain/CROSSTOOL</p>
  
  <pre><code>major_version: "1"
  minor_version: "0"
  default_target_cpu: "joint_compilation"
  
  toolchain {
    toolchain_identifier: "joint_compilation-toolchain"
    host_system_name: "i686-unknown-linux-gnu"
    target_system_name: "joint_compilation-unknown-distcc"
    target_cpu: "joint_compilation"
    target_libc: "unknown"
    compiler: "distcc"
    abi_version: "unknown"
    abi_libc_version: "unknown"
    tool_path {
        name: "gcc"
        path: "distcc_wrapper_gcc.sh"
    }
     tool_path {
        name: "g++"
        path: "distcc_wrapper_gcc.sh"
    }
    tool_path {
        name: "ld"
        path: "/usr/bin/ld"
    }
    tool_path {
        name: "ar"
        path: "/usr/bin/ar"
    }
    tool_path {
        name: "cpp"
        path: "distcc_wrapper_gcc.sh"
    }
    tool_path {
        name: "gcov"
        path: "/usr/bin/gcov"
    }
    tool_path {
        name: "nm"
        path: "/usr/bin/nm"
    }
    tool_path {
        name: "objdump"
        path: "/usr/bin/objdump"
    }
    tool_path {
        name: "strip"
        path: "/usr/bin/strip"
    }
  
  
    cxx_builtin_include_directory: "/usr/lib/gcc/"
    cxx_builtin_include_directory: "/usr/local/include"
    cxx_builtin_include_directory: "/usr/include"
  }
  </code></pre>