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
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:
1 parent
cf448d6ce9
commit
fbf98cd2b5
1 file changed
+10
-3
@@ -118,6 +118,13 @@ systemd_cmd=()
|
|||||||
# starten. De markering maakt dat afdwingbaar in next.config.ts.
|
# starten. De markering maakt dat afdwingbaar in next.config.ts.
|
||||||
export CMS_MEMORY_CAPPED=1
|
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`
|
# Echt proberen, niet alleen uitzoeken of het bestand bestaat: `systemd-run`
|
||||||
# zonder rechten faalt met "Access denied", en dat moet dan een nette
|
# zonder rechten faalt met "Access denied", en dat moet dan een nette
|
||||||
# terugval naar ulimit worden in plaats van een kapotte build.
|
# terugval naar ulimit worden in plaats van een kapotte build.
|
||||||
@@ -174,7 +181,7 @@ run_systemd() {
|
|||||||
# expliciet: deze host heeft geen swap.
|
# expliciet: deze host heeft geen swap.
|
||||||
local high=$((effective * 95 / 100))
|
local high=$((effective * 95 / 100))
|
||||||
echo "[mem-cap] systemd cgroup MemoryHigh=$((high / 1024 / 1024))MB MemoryMax=$((effective / 1024 / 1024))MB MemorySwapMax=0: $*" >&2
|
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() {
|
run_ulimit() {
|
||||||
@@ -186,7 +193,7 @@ run_ulimit() {
|
|||||||
echo "[mem-cap] ulimit -v $virtual_kb werd geweigerd" >&2
|
echo "[mem-cap] ulimit -v $virtual_kb werd geweigerd" >&2
|
||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
exec taskset -c 0 "$@"
|
exec taskset -c "$cpu_affinity" "$@"
|
||||||
}
|
}
|
||||||
|
|
||||||
run_refuse() {
|
run_refuse() {
|
||||||
@@ -197,7 +204,7 @@ run_refuse() {
|
|||||||
|
|
||||||
run_opted_out() {
|
run_opted_out() {
|
||||||
echo "[mem-cap] WAARSCHUWING: plafond bewust uitgeschakeld, dit commando kan de machine laten OOM-killed worden: $*" >&2
|
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
|
case "$backend" in
|
||||||
|
|||||||
Reference in new issue
Block a user