Skip to content

Commit ec435c3

Browse files
committed
fix(execution): cap isolate memory at 128MB and recycle workers every 100 executions
1 parent 94f60e7 commit ec435c3

2 files changed

Lines changed: 3 additions & 3 deletions

File tree

apps/sim/lib/execution/isolated-vm-worker.cjs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -183,7 +183,7 @@ async function executeCode(request, executionId) {
183183
const externalCopies = []
184184

185185
try {
186-
isolate = new ivm.Isolate({ memoryLimit: 256 })
186+
isolate = new ivm.Isolate({ memoryLimit: 128 })
187187
if (executionId !== undefined) activeIsolates.set(executionId, isolate)
188188
context = await isolate.createContext()
189189
const jail = context.global
@@ -529,7 +529,7 @@ async function executeTask(request, executionId) {
529529
let tPhase = tStart
530530

531531
try {
532-
isolate = new ivm.Isolate({ memoryLimit: 256 })
532+
isolate = new ivm.Isolate({ memoryLimit: 128 })
533533
if (executionId !== undefined) activeIsolates.set(executionId, isolate)
534534
context = await isolate.createContext()
535535
const jail = context.global

apps/sim/lib/execution/isolated-vm.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,7 @@ const DISTRIBUTED_MAX_INFLIGHT_PER_OWNER =
128128
Number.parseInt(env.IVM_DISTRIBUTED_MAX_INFLIGHT_PER_OWNER) ||
129129
MAX_ACTIVE_PER_OWNER + MAX_QUEUED_PER_OWNER
130130
const DISTRIBUTED_LEASE_MIN_TTL_MS = Number.parseInt(env.IVM_DISTRIBUTED_LEASE_MIN_TTL_MS) || 120000
131-
const MAX_EXECUTIONS_PER_WORKER = Number.parseInt(env.IVM_MAX_EXECUTIONS_PER_WORKER) || 500
131+
const MAX_EXECUTIONS_PER_WORKER = Number.parseInt(env.IVM_MAX_EXECUTIONS_PER_WORKER) || 100
132132
const MAX_BROKER_ARGS_JSON_CHARS = Number.parseInt(env.IVM_MAX_BROKER_ARGS_JSON_CHARS) || 262_144
133133
const MAX_BROKER_RESULT_JSON_CHARS =
134134
Number.parseInt(env.IVM_MAX_BROKER_RESULT_JSON_CHARS) || 16_777_216

0 commit comments

Comments
 (0)