diff --git a/eng/build.sh b/eng/build.sh
index 1cab7739726fa3..b4c11ca61a72e2 100755
--- a/eng/build.sh
+++ b/eng/build.sh
@@ -542,6 +542,10 @@ fi
if [[ "$os" == "browser" ]]; then
# override default arch for Browser, we only support wasm
arch=wasm
+ # because on docker instance without swap file, MSBuild nodes need to make some room for LLVM
+ # https://github.com/dotnet/runtime/issues/113724
+ # this is hexa percentage: 46-> 70%
+ export DOTNET_GCHeapHardLimitPercent="46"
fi
if [[ "$os" == "wasi" ]]; then
# override default arch for wasi, we only support wasm
diff --git a/eng/pipelines/common/templates/wasm-library-tests.yml b/eng/pipelines/common/templates/wasm-library-tests.yml
index 51cf40074ff5bd..149215ea501937 100644
--- a/eng/pipelines/common/templates/wasm-library-tests.yml
+++ b/eng/pipelines/common/templates/wasm-library-tests.yml
@@ -80,7 +80,7 @@ jobs:
isExtraPlatforms: ${{ parameters.isExtraPlatformsBuild }}
testGroup: innerloop
nameSuffix: LibraryTests${{ parameters.nameSuffix }}
- buildArgs: -s mono+libs+host+packs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true /p:MonoEnableAssertMessages=true /p:BrowserHost=$(_hostedOs) $(_wasmRunSmokeTestsOnlyArg) $(chromeInstallArg) $(firefoxInstallArg) $(v8InstallArg) ${{ parameters.extraBuildArgs }}
+ buildArgs: -s mono+libs+host+packs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true /p:MonoEnableAssertMessages=true /p:BrowserHost=$(_hostedOs) $(_wasmRunSmokeTestsOnlyArg) $(chromeInstallArg) $(firefoxInstallArg) $(v8InstallArg) /maxcpucount:1 ${{ parameters.extraBuildArgs }}
timeoutInMinutes: 240
# if !alwaysRun, then:
# if this is runtime-wasm (isWasmOnlyBuild):
diff --git a/eng/testing/tests.wasm.targets b/eng/testing/tests.wasm.targets
index 65ab8ed35de7f8..0fc4926a782a41 100644
--- a/eng/testing/tests.wasm.targets
+++ b/eng/testing/tests.wasm.targets
@@ -87,7 +87,9 @@
-
+
+
+