当前位置: 首页 > 知识库问答 >
问题:

致命错误:无效标记-压缩接近堆限制分配失败-在离子3中JavaScript堆内存不足

秋阳荣
2023-03-14

当我使用Ionic serve命令运行一个ionic3项目时,我会得到以下错误:

共有1个答案

牧璞
2023-03-14

对于那些从谷歌登陆这个问题的人来说,这是一个非角度的一般性答案:

每次遇到这个错误,都可能是因为内存泄漏或者Node.js<=10和Node.js>10管理内存的方式不同。

通常,仅仅增加分配给node.js的内存就可以让程序运行,但实际上并不能解决真正的问题,node进程使用的内存仍然可能超过分配的新内存。我建议在node.js进程开始运行或更新到node.js>10时分析它的内存使用情况。

export NODE_OPTIONS="--max-old-space-size=8192"

其中max-old-space-size的值可以是:[2048,4096,8192,16384]

更多的例子以进一步澄清:

export NODE_OPTIONS="--max-old-space-size=5120" # Increase to 5 GB
export NODE_OPTIONS="--max-old-space-size=6144" # Increase to 6 GB
export NODE_OPTIONS="--max-old-space-size=7168" # Increase to 7 GB
export NODE_OPTIONS="--max-old-space-size=8192" # Increase to 8 GB

# and so on...

# formula:
export NODE_OPTIONS="--max-old-space-size=(X * 1024)" # Increase to X GB

# Note: it doesn't have to be multiples of 1024.
# max-old-space-size can be any number of memory megabytes (MB) you have available.
 类似资料: