diff --git a/.env.example b/.env.example index 26011b5..6430c2a 100644 --- a/.env.example +++ b/.env.example @@ -19,7 +19,7 @@ HTTPS_PORT=443 RUNTIME_MEMORY_LIMIT=4g RUNTIME_MEMORY_SWAP_LIMIT=4g RUNTIME_CPU_LIMIT=4 -RUNTIME_PIDS_LIMIT=256 +RUNTIME_PIDS_LIMIT=512 # Bound Node/Rolldown build parallelism inside the runtime container. RUNTIME_NODE_OPTIONS=--max-old-space-size=1536 # Optional turn-daemon-only heap. Raise the runtime memory hard limit first. diff --git a/README.md b/README.md index 1116b87..c2faeb4 100644 --- a/README.md +++ b/README.md @@ -56,10 +56,11 @@ Core2026 clone, frozen-lockfile install, build와 Gateway migration 때문에 `HTTPS_PORT`는 충돌하지 않는 별도 host port로 지정합니다. 외부 proxy는 원래 `Host` header를 보존해야 합니다. -runtime은 기본적으로 memory/swap 각각 4 GiB, CPU 4개, PID 256개 상한을 -가집니다. 호스트 용량에 맞춰 `RUNTIME_*_LIMIT`을 조정할 수 있지만 0 또는 -무제한으로 두지 않습니다. PM2 process/restart 수가 예상보다 증가하면 로그 수집보다 -runtime 중지가 우선입니다. +runtime은 기본적으로 memory/swap 각각 4 GiB, CPU 4개, PID 512개 상한을 +가집니다. Gateway와 여러 profile의 PM2 process가 실행 중인 상태에서도 release +build의 Node/Rolldown thread를 수용하기 위한 값입니다. 호스트 용량에 맞춰 +`RUNTIME_*_LIMIT`을 조정할 수 있지만 0 또는 무제한으로 두지 않습니다. PM2 +process/restart 수가 예상보다 증가하면 로그 수집보다 runtime 중지가 우선입니다. 초기 빌드와 profile worktree 빌드는 기본 Node heap 1536 MiB, `RAYON_NUM_THREADS=1` 안에서 실행됩니다. `RUNTIME_NODE_OPTIONS`의 heap 상한은 diff --git a/compose.yaml b/compose.yaml index cc80e04..11215ee 100644 --- a/compose.yaml +++ b/compose.yaml @@ -125,7 +125,7 @@ services: mem_limit: ${RUNTIME_MEMORY_LIMIT:-4g} memswap_limit: ${RUNTIME_MEMORY_SWAP_LIMIT:-4g} cpus: ${RUNTIME_CPU_LIMIT:-4} - pids_limit: ${RUNTIME_PIDS_LIMIT:-256} + pids_limit: ${RUNTIME_PIDS_LIMIT:-512} stop_grace_period: 30s restart: unless-stopped