mirror of
https://github.com/stablyai/orca.git
synced 2026-11-13 09:27:29 +00:00
* refactor(tooling): organize test runtime and maintenance owners * test(tooling): preserve relocated runtime fixture dependency edges * refactor(tooling): preserve xterm routing owner checks * ci(tooling): include routing owner in sparse checkout * test(tooling): preserve copied workflow dependency closures * fix(tooling): normalize hashed JSON assets in release parity * fix(tooling): distinguish asset aliases from literal references * fix(tooling): frame normalized asset reference payloads * fix(tooling): normalize decoded JSON asset references * refactor(tooling): organize build, CI and release owners * fix(tooling): align moved generator and workflow path contracts * fix(tooling): update generated plugin bundle owner banners * test(tooling): create relocated mobile verifier fixture directories * test(tooling): copy headless detector dependency closure * test(tooling): align native batch policy fixtures with owner path * fix(tooling): link moved reliability command to historical evidence * fix(tooling): preserve nested sandbox owners and canonical guide source * fix(tooling): target release version owners in checkout fixture
20 lines
779 B
JavaScript
20 lines
779 B
JavaScript
import os from 'node:os'
|
|
|
|
const maxOldSpaceSizeMb = 4096
|
|
const minOldSpaceSizeMb = 2048
|
|
const reservedSystemMemoryMb = 1024
|
|
|
|
export function getBuildOldSpaceSizeMb(totalMemoryBytes = os.totalmem()) {
|
|
const totalMemoryMb = Math.floor(totalMemoryBytes / 1024 / 1024)
|
|
const hostSizedLimitMb = Math.max(minOldSpaceSizeMb, totalMemoryMb - reservedSystemMemoryMb)
|
|
|
|
return Math.min(maxOldSpaceSizeMb, hostSizedLimitMb)
|
|
}
|
|
|
|
export function appendBuildOldSpaceOption(existingNodeOptions, totalMemoryBytes = os.totalmem()) {
|
|
const requestedNodeOptions = `--max-old-space-size=${getBuildOldSpaceSizeMb(totalMemoryBytes)}`
|
|
const trimmedNodeOptions = existingNodeOptions?.trim()
|
|
|
|
return trimmedNodeOptions ? `${trimmedNodeOptions} ${requestedNodeOptions}` : requestedNodeOptions
|
|
}
|