chore: use half of CPU cores instead of a single core
CI / check (push) Failing after 30s
CI / tests-unit (push) Skipped
CI / tests-integration (push) Skipped
CI / tests-ui (push) Skipped
CI / tests-imaging-browsers (push) Skipped
CI / tests-quality (push) Skipped
CI / preflight (push) Skipped
CI / deploy (push) Skipped

This commit is contained in:
openhands committed 2026-10-23 14:24:45 +02:00
1 parent cf448d6ce9
commit fbf98cd2b5
1 file changed
+10 -3
+10 -3
View File
@@ -118,6 +118,13 @@ systemd_cmd=()
# starten. De markering maakt dat afdwingbaar in next.config.ts.
export CMS_MEMORY_CAPPED=1
# Gebruik hoogstens de helft van de cores, zodat de machine niet op 100% CPU
# piekt, maar behoud voldoende parallelle kracht op (Ryzen) hosts.
cpu_count="$(nproc 2>/dev/null || echo 1)"
worker_cores=$((cpu_count / 2))
[ "$worker_cores" -lt 1 ] && worker_cores=1
cpu_affinity="0-$((worker_cores - 1))"
# Echt proberen, niet alleen uitzoeken of het bestand bestaat: `systemd-run`
# zonder rechten faalt met "Access denied", en dat moet dan een nette
# terugval naar ulimit worden in plaats van een kapotte build.
@@ -174,7 +181,7 @@ run_systemd() {
# expliciet: deze host heeft geen swap.
local high=$((effective * 95 / 100))
echo "[mem-cap] systemd cgroup MemoryHigh=$((high / 1024 / 1024))MB MemoryMax=$((effective / 1024 / 1024))MB MemorySwapMax=0: $*" >&2
exec "${systemd_cmd[@]}" -p "MemoryHigh=$high" -p "MemoryMax=$effective" -p "MemorySwapMax=0" -p "CPUAffinity=0" "$@"
exec "${systemd_cmd[@]}" -p "MemoryHigh=$high" -p "MemoryMax=$effective" -p "MemorySwapMax=0" -p "CPUAffinity=$cpu_affinity" "$@"
}
run_ulimit() {
@@ -186,7 +193,7 @@ run_ulimit() {
echo "[mem-cap] ulimit -v $virtual_kb werd geweigerd" >&2
return 1
}
exec taskset -c 0 "$@"
exec taskset -c "$cpu_affinity" "$@"
}
run_refuse() {
@@ -197,7 +204,7 @@ run_refuse() {
run_opted_out() {
echo "[mem-cap] WAARSCHUWING: plafond bewust uitgeschakeld, dit commando kan de machine laten OOM-killed worden: $*" >&2
exec taskset -c 0 "$@"
exec taskset -c "$cpu_affinity" "$@"
}
case "$backend" in