diff --git a/scripts/env/juwels/petsc.sh b/scripts/env/juwels/petsc.sh
index 9b9738e862db7ad6796d04df64512ec836f98512..5bff9e3d872aecdb3ec0899c92394257d7d71c54 100644
--- a/scripts/env/juwels/petsc.sh
+++ b/scripts/env/juwels/petsc.sh
@@ -13,5 +13,9 @@ module load ScaLAPACK/2.2.0-fb
 export CC=mpicc
 export CXX=mpic++
 
+# CMake may spawn as many processes as available. This may overload the filesystem on JUWELS.
+# It is therefore necessary to limit the number of processes with CMAKE_BUILD_PARALLEL_LEVEL.
+export CMAKE_BUILD_PARALLEL_LEVEL=6
+
 echo "Example config: cmake --preset release-petsc"
 echo "Example run: srun -n 3 -t 2 -A ogs6hpc4 bin/ogs ../ogs/Tests/Data/EllipticPETSc/cube_1e3_neumann.prj"