node.js

关注公众号 jb51net

关闭
首页 > 网络编程 > JavaScript > node.js > node指定内存上限

node指定内存上限简单代码实例

作者:微风醉,心相喧

NodeJS启动的应用,内存使用是有上限的,下面这篇文章主要给大家介绍了关于node指定内存上限的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下

node的内存上限都有一定限制;用户可以通过node环境的变量NODE_OPTIONS指定内存,提高运行性能

1.手动设置内存上限

set NODE_OPTIONS=%NODE_OPTIONS%;--max-old-space-size=15000

--max-old-space-size=15000 //老内设置为15000MB
--max-new-space-size //新内存设置为15000KB

2,vue2项目

"scripts": {
    "dev": "node --max_old_space_size=15000 --inline --config webpack.dev.js"
  },

3.vue3项目需要下载cross-env和increase-memory-limit包,指定node环境变量

"scripts": {
    "dev": "cross-env LIMIT=15000 increase-memory-limit NODE_ENV=developmet --config webpack/webpack.dev.js"
  },

在启动应用前,编辑一个环境变量NODE_OPTIONS,向其追加一个参数--max-old-space-size,值8192表示8192MB。

(如果该环境变量本来有其他的参数,注意也要加上)。

当然,你有其他多种方式去修改某个环境变量的值。

附:环境变量的修改方式

Windows 仅当前窗口有效

cmd中执行 set NODE_OPTIONS=--max-old-space-size=8192当本窗口关闭后,该配置失效。

Windows 永久有效(仅用户级别)

cmd中执行setx NODE_OPTIONS --max-old-space-size=8192或直接在环境变量窗口中编辑用户级别的环境变量。

命令执行后对本cmd窗口之外的所有环境,即刻生效(本cmd窗口开始运行时,还没配置这个环境变量)。

Windows 永久有效(系统级别)

在环境变量窗口中编辑系统级别的环境变量。新增配置:
name: NODE_OPTIONSvalue: --max-old-space-size=8192

类unix系统(Linux/macOS)

export语句

几种配置文件。

组合使用。

通用方式

没谁愿意记那么多命令。

Windows/Linux/MacOS系统里怎么设置环境变量,有没有统一的方法?

没有。

但是后来有人将不同系统之上的操作封装起来,提供了一个NodeJS库 cross-env用于跨平台设置环境变量

# 全局安装该包(当然你也可以只在当前项目级别安装)
npm i -g cross-env

node index.js
# 改成:
cross-env NODE_OPTIONS=--max-old-space-size node index.js复制

注意 cross-env xxx=xxx xxx=xxxnode index.js中间是空格,不要加& &&之类的字符(那会导致一开始设置的环境变量在后面的命令中无效,我这样做错过)。

Others

其他相关nodejs参数

--max-http-header-size
--v8-pool-size
--huge-max-old-generation-size
--max-old-space-size

如何用命令行打开用户级别的环境变量编辑窗口?

rundll32.exe sysdm.cpl,EditEnvironmentVariables

# 即
C:\Windows\System32\rundll32.exe C:\Windows\System32\sysdm.cpl,EditEnvironmentVariables

总结 

到此这篇关于node指定内存上限的文章就介绍到这了,更多相关node指定内存上限内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文