如何在Windows中使用NODE_OPTIONS环境变量全局设置max_old_space_size?

myzjeezk  于 2022-12-24  发布在  Windows
关注(0)|答案(6)|浏览(1984)

解决运行节点二进制文件时堆内存不足的方法(这是使用TypeScript 2.1+和webpack时的常见问题)是增加节点的最大内存。
increase-memory-limit是一个可以实现这一功能的包。在链接中,它说
自2017年8月发布的Node.js v8.0起,您现在可以使用NODE_OPTIONS环境变量全局设置max_old_space_size。export NODE_OPTIONS=--max_old_space_size=4096
但是我如何在Windows中设置这个环境变量呢?在powershell中,它给我错误“export:术语“export”无法识别为cmdlet、函数、脚本文件或可操作程序的名称。请检查名称的拼写,如果包含路径,请验证路径是否正确,然后重试。

oipij1gg

oipij1gg1#

export是一个Linux命令。您可以将set用于Windows:
set NODE_OPTIONS=--max_old_space_size=4096

t5zmwmid

t5zmwmid2#

如果使用powershell运行,则设置NODE_OPTIONS的命令应如下所示:

$env:NODE_OPTIONS="--max-old-space-size=8192"

然后您可以使用以下命令检查是否应用了它:

node -e 'console.log(v8.getHeapStatistics().heap_size_limit/(1024*1024))'
8240
mzmfm0qo

mzmfm0qo3#

根据nodeJ文档,属性应为(带连字符)

  • -最大旧空间大小=大小(以兆字节为单位)
    并且可以像其他人说的那样用在启动脚本或使用NODE_OPTIONS设置/导出中。不需要为此导入新的库。
    $节点--最大旧空间大小= 800 index.js
    Reference: https://nodejs.org/api/cli.html#cli_max_old_space_size_size_in_megabytes
fivyi3re

fivyi3re4#

您可以在powershell中使用以下命令来增加节点内存:

$Env:NODE_OPTIONS = "--max-old-space-size=4096"

在此之后,您的应用程序应该不会出现问题。

dgiusagp

dgiusagp5#

首先,我想感谢作者(爱德华张)谁作出了评论2评论以上。我决定写这篇评论。
我在使用Angular 应用程序时遇到了这个错误。有一些解决方案可以解决这个问题,但大多数都不适合我。但最后我找到了一个解决方案。通过使用环境变量:

使用此命令检查node.js cmd上的环境变量。

v8.getHeapStatistics()

如果用于解决此问题的环境变量不起作用,可以在vs代码中使用此命令。

$env:NODE_OPTIONS="--max-old-space-size=4096"

您可以检查以下内容:

node -e 'console.log(v8.getHeapStatistics().heap_size_limit/(1024*1024))'

在此命令后,我得到了一些错误,如一些模块找不到与修复此错误,您可以运行此命令

npm clean-install
npm install

如果堆分配错误继续,您可以像这样增加卷。

--max-old-space-size=1024 index.js #increase to 1gb
--max-old-space-size=2048 index.js #increase to 2gb
--max-old-space-size=3072 index.js #increase to 3gb
--max-old-space-size=4096 index.js #increase to 4gb
--max-old-space-size=5120 index.js #increase to 5gb
--max-old-space-size=6144 index.js #increase to 6gb
--max-old-space-size=7168 index.js #increase to 7gb
--max-old-space-size=8192 index.js #increase to 8gb
t9eec4r0

t9eec4r06#

要解决AWS示例上的此问题,
登录AWS控制台并从示例状态点击关闭示例
然后在“操作”点按下
选择变更示例类型
然后选择t2.medium,保存并退出
返回并启动示例
然后再次运行您的应用
这在t2.micro示例上很常见,因为它是1 GB RAM
谢啦,谢啦

相关问题