diff --git a/test/core/support/thd_test.c b/test/core/support/thd_test.c
index f7807d280a2113d5a47a590ec6632e186508413e..2671dd3d3d5b771c6b5745c095cace3ee9e1e923 100644
--- a/test/core/support/thd_test.c
+++ b/test/core/support/thd_test.c
@@ -79,9 +79,9 @@ static void test_options(void) {
 static void test(void) {
   int i;
   gpr_thd_id thd;
-  gpr_thd_id thds[1000];
+  gpr_thd_id thds[300];
   struct test t;
-  int n = 1000;
+  int n = 300;
   gpr_thd_options options = gpr_thd_options_default();
   gpr_mu_init(&t.mu);
   gpr_cv_init(&t.done_cv);