【发布时间】:2020-10-22 11:37:19
【问题描述】:
当我使用“无服务器脱机”命令部署或运行服务时,我遇到了“JavaScript 堆内存不足”的问题。
我正在使用 nestjs - 一个节点框架 - 并为节点 10x 构建项目。 在我的终端上,我得到了这个。
我发现了一些修复,例如
- 在终端输入“node --max-old-space-size=1024 index.js”
- 使用这个包https://www.npmjs.com/package/increase-memory-limit
- 在 package.json 中的 script 标签上附加一些类似 ""scripts": { “webpacker”:“节点 --max_old_space_size=4096” 不是这些作品。
有什么线索吗?
PS D:\m1_workspace\dw-api> serverless offline
Serverless: Compiling with Typescript...
Serverless: Using local tsconfig.json
<--- Last few GCs --->
al[21864:000001EF81231660] 20688 ms: Mark-sweep 1394.2 (1429.4) -> 1392.3 (1429.9) MB, 977.1 / 0.0 ms (+ 0.0 ms in 62 steps since start of marking, biggest step 0.0 ms, walltime since start of marking 987 ms) (average mu = 0.074, current mu = 0.010) all[21864:000001EF81231660] 21557 ms: Mark-sweep 1392.3 (1429.9) -> 1392.2 (1427.9) MB, 868.1 / 0.0 ms (+ 0.0 ms in 0 steps since start of marking, biggest step 0.0 ms, walltime since start of marking 868 ms) (average mu = 0.037, current mu = 0.001) allo
<--- JS stacktrace --->
==== JS stack trace =========================================
Security context: 0x002e2c61e6e9 <JSObject>
0: builtin exit frame: splice(this=0x03a8c4a97e89 <JSArray[8]>,0x0237e40868f9 <TypeObject map = 000001453BA516C9>,0,8,0x03a8c4a97e89 <JSArray[8]>)
1: getUnionType(aka getUnionType) [00000057B5C33821] [D:\m1_workspace\dw-api\node_modules\@hewmen\serverless-plugin-typescript\node_modules\typescript\lib\typescript.js:~34245] [pc=000003F28C0363E9](this=0x007f886026f1 <undefined>,types=0x010...
FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory
【问题讨论】:
-
您的代码在内存不足时会做什么?可能是一堆同时进行的异步操作?还是将大文件读入内存?还是解析大段的 JSON?
标签: node.js aws-lambda nestjs serverless-framework