diff --git a/templates/tools/fuzzer/runners.template b/templates/tools/fuzzer/runners.template
index 5228f86c7e46f53307fb95a78ebc304159baeefa..a5a1a1c2d33d220e8894c7d1ea36d961d43e3895 100644
--- a/templates/tools/fuzzer/runners.template
+++ b/templates/tools/fuzzer/runners.template
@@ -35,7 +35,7 @@ template: |
   # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
   #
 
-  flags="-max_total_time=$runtime -jobs=3 -workers=3 -artifact_prefix=fuzzer_output/ -max_len=${selected.maxlen}"
+  flags="-max_total_time=$runtime -jobs=$jobs -workers=$jobs -artifact_prefix=fuzzer_output/ -max_len=${selected.maxlen}"
   if [ "$config" == "asan-trace-cmp" ]
   then
     flags="-use_traces=1 $flags"
diff --git a/test/core/end2end/fuzzers/client_fuzzer.c b/test/core/end2end/fuzzers/client_fuzzer.c
index f2be967c85a67eb40e425e0315c2da90fcfb6018..609d1dd6b4cfcbb246de82e8c3f504e5b3bea917 100644
--- a/test/core/end2end/fuzzers/client_fuzzer.c
+++ b/test/core/end2end/fuzzers/client_fuzzer.c
@@ -58,9 +58,12 @@ int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
   grpc_transport *transport =
       grpc_create_chttp2_transport(&exec_ctx, NULL, mock_endpoint, 1);
   grpc_chttp2_transport_start_reading(&exec_ctx, transport, NULL, 0);
-  
-  grpc_channel *channel = grpc_channel_create(&exec_ctx, "test-target", NULL, GRPC_CLIENT_DIRECT_CHANNEL, transport);
-  grpc_call *call = grpc_channel_create_call(channel, NULL, 0, cq, "/foo", "localhost", gpr_inf_future(GPR_CLOCK_REALTIME), NULL);
+
+  grpc_channel *channel = grpc_channel_create(
+      &exec_ctx, "test-target", NULL, GRPC_CLIENT_DIRECT_CHANNEL, transport);
+  grpc_call *call =
+      grpc_channel_create_call(channel, NULL, 0, cq, "/foo", "localhost",
+                               gpr_inf_future(GPR_CLOCK_REALTIME), NULL);
 
   grpc_metadata_array initial_metadata_recv;
   grpc_metadata_array_init(&initial_metadata_recv);
@@ -100,7 +103,8 @@ int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
   op->flags = 0;
   op->reserved = NULL;
   op++;
-  grpc_call_error error = grpc_call_start_batch(call, ops, (size_t)(op - ops), tag(1), NULL);
+  grpc_call_error error =
+      grpc_call_start_batch(call, ops, (size_t)(op - ops), tag(1), NULL);
   int requested_calls = 1;
   GPR_ASSERT(GRPC_CALL_OK == error);
 
diff --git a/tools/fuzzer/runners/client_fuzzer.sh b/tools/fuzzer/runners/client_fuzzer.sh
index 15c46b968e7dadbdd92a161b0895d46c6c33daaf..d4072bf1fafee4cd94ece0002ac17abb535c8251 100644
--- a/tools/fuzzer/runners/client_fuzzer.sh
+++ b/tools/fuzzer/runners/client_fuzzer.sh
@@ -29,7 +29,7 @@
 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 #
 
-flags="-max_total_time=$runtime -jobs=3 -workers=3 -artifact_prefix=fuzzer_output/ -max_len=2048"
+flags="-max_total_time=$runtime -jobs=$jobs -workers=$jobs -artifact_prefix=fuzzer_output/ -max_len=2048"
 if [ "$config" == "asan-trace-cmp" ]
 then
   flags="-use_traces=1 $flags"
diff --git a/tools/fuzzer/runners/hpack_parser_fuzzer_test.sh b/tools/fuzzer/runners/hpack_parser_fuzzer_test.sh
index 0d55a7d460cc2cd2a8e0cb685525c4f842448901..6c484bfcbba987d3af907cdf488a27a844716d0d 100644
--- a/tools/fuzzer/runners/hpack_parser_fuzzer_test.sh
+++ b/tools/fuzzer/runners/hpack_parser_fuzzer_test.sh
@@ -29,7 +29,7 @@
 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 #
 
-flags="-max_total_time=$runtime -jobs=3 -workers=3 -artifact_prefix=fuzzer_output/ -max_len=512"
+flags="-max_total_time=$runtime -jobs=$jobs -workers=$jobs -artifact_prefix=fuzzer_output/ -max_len=512"
 if [ "$config" == "asan-trace-cmp" ]
 then
   flags="-use_traces=1 $flags"
diff --git a/tools/fuzzer/runners/http_fuzzer_test.sh b/tools/fuzzer/runners/http_fuzzer_test.sh
index 0379efcbed505d4b1177741ed7a0c64d8098af3f..46a33fd622d659732024730136c89046959c0951 100644
--- a/tools/fuzzer/runners/http_fuzzer_test.sh
+++ b/tools/fuzzer/runners/http_fuzzer_test.sh
@@ -29,7 +29,7 @@
 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 #
 
-flags="-max_total_time=$runtime -jobs=3 -workers=3 -artifact_prefix=fuzzer_output/ -max_len=2048"
+flags="-max_total_time=$runtime -jobs=$jobs -workers=$jobs -artifact_prefix=fuzzer_output/ -max_len=2048"
 if [ "$config" == "asan-trace-cmp" ]
 then
   flags="-use_traces=1 $flags"
diff --git a/tools/fuzzer/runners/json_fuzzer_test.sh b/tools/fuzzer/runners/json_fuzzer_test.sh
index 45a449328f9ec6a07e0448f0a5ed7c03dd695a62..2a6a030e546d59432347667ff3a8b2f4dca741b7 100644
--- a/tools/fuzzer/runners/json_fuzzer_test.sh
+++ b/tools/fuzzer/runners/json_fuzzer_test.sh
@@ -29,7 +29,7 @@
 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 #
 
-flags="-max_total_time=$runtime -jobs=3 -workers=3 -artifact_prefix=fuzzer_output/ -max_len=512"
+flags="-max_total_time=$runtime -jobs=$jobs -workers=$jobs -artifact_prefix=fuzzer_output/ -max_len=512"
 if [ "$config" == "asan-trace-cmp" ]
 then
   flags="-use_traces=1 $flags"
diff --git a/tools/fuzzer/runners/nanopb_fuzzer_response_test.sh b/tools/fuzzer/runners/nanopb_fuzzer_response_test.sh
index 268d6de30106621c521ff18b6e16ff11322964c5..99a526229286b818d34969fc2aa57f294187428a 100644
--- a/tools/fuzzer/runners/nanopb_fuzzer_response_test.sh
+++ b/tools/fuzzer/runners/nanopb_fuzzer_response_test.sh
@@ -29,7 +29,7 @@
 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 #
 
-flags="-max_total_time=$runtime -jobs=3 -workers=3 -artifact_prefix=fuzzer_output/ -max_len=128"
+flags="-max_total_time=$runtime -jobs=$jobs -workers=$jobs -artifact_prefix=fuzzer_output/ -max_len=128"
 if [ "$config" == "asan-trace-cmp" ]
 then
   flags="-use_traces=1 $flags"
diff --git a/tools/fuzzer/runners/nanopb_fuzzer_serverlist_test.sh b/tools/fuzzer/runners/nanopb_fuzzer_serverlist_test.sh
index be14e4dd5de22671722001b5b34d3d552050aa21..5857fba2188a11ab05130338e60cdf4af72a919b 100644
--- a/tools/fuzzer/runners/nanopb_fuzzer_serverlist_test.sh
+++ b/tools/fuzzer/runners/nanopb_fuzzer_serverlist_test.sh
@@ -29,7 +29,7 @@
 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 #
 
-flags="-max_total_time=$runtime -jobs=3 -workers=3 -artifact_prefix=fuzzer_output/ -max_len=128"
+flags="-max_total_time=$runtime -jobs=$jobs -workers=$jobs -artifact_prefix=fuzzer_output/ -max_len=128"
 if [ "$config" == "asan-trace-cmp" ]
 then
   flags="-use_traces=1 $flags"
diff --git a/tools/fuzzer/runners/server_fuzzer.sh b/tools/fuzzer/runners/server_fuzzer.sh
index 3c4eb07a7cf28c25257bd63bcf1e0085c5c98324..707b1748789f0df21643a88f2999d7b380ef0516 100644
--- a/tools/fuzzer/runners/server_fuzzer.sh
+++ b/tools/fuzzer/runners/server_fuzzer.sh
@@ -29,7 +29,7 @@
 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 #
 
-flags="-max_total_time=$runtime -jobs=3 -workers=3 -artifact_prefix=fuzzer_output/ -max_len=2048"
+flags="-max_total_time=$runtime -jobs=$jobs -workers=$jobs -artifact_prefix=fuzzer_output/ -max_len=2048"
 if [ "$config" == "asan-trace-cmp" ]
 then
   flags="-use_traces=1 $flags"
diff --git a/tools/fuzzer/runners/uri_fuzzer_test.sh b/tools/fuzzer/runners/uri_fuzzer_test.sh
index 33a389abcbe83f0277c37244dd1e3d90b4aa916e..d8529bd54fb70f062c8ddb560c74e2d0b24df20e 100644
--- a/tools/fuzzer/runners/uri_fuzzer_test.sh
+++ b/tools/fuzzer/runners/uri_fuzzer_test.sh
@@ -29,7 +29,7 @@
 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 #
 
-flags="-max_total_time=$runtime -jobs=3 -workers=3 -artifact_prefix=fuzzer_output/ -max_len=128"
+flags="-max_total_time=$runtime -jobs=$jobs -workers=$jobs -artifact_prefix=fuzzer_output/ -max_len=128"
 if [ "$config" == "asan-trace-cmp" ]
 then
   flags="-use_traces=1 $flags"
diff --git a/tools/jenkins/run_fuzzer.sh b/tools/jenkins/run_fuzzer.sh
index 346403548abe8bffac3b3ec2bf2394b0d87203a5..3f25a93319dceef55013be43d586c78183c0810e 100755
--- a/tools/jenkins/run_fuzzer.sh
+++ b/tools/jenkins/run_fuzzer.sh
@@ -38,9 +38,11 @@ export DOCKERFILE_DIR=tools/dockerfile/test/fuzzer
 export OUTPUT_DIR=fuzzer_output
 
 runtime=${runtime:-3600}
+jobs=${jobs:-3}
 
 tools/jenkins/build_and_run_docker.sh \
   -e RUN_COMMAND="$RUN_COMMAND" \
   -e OUTPUT_DIR="$OUTPUT_DIR" \
   -e config="$config" \
-  -e runtime="$runtime"
+  -e runtime="$runtime" \
+  -e jobs="$jobs"