Certain Geode tests create a lot of threads. When these tests run in parallel with many other tests (as they do in CI), the whole set of concurrently running tests can overwhelm the Linux kernel's ability to assign PIDs to new threads. When this happens, test processes, Gradle processes, and other processes can become unable to create new threads.
The relevant system parameter is kernel.pid_max. On our CI systems, pid_max is 98,304.
Raising pid_max to 983040 (10x the default value). A build can run 24 concurrent instances of even our most thread-heavy tests without exceeding this threshold.