You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Node.js 16.20.2堆内存大小修改无效,如何正确调整?

Node.js堆内存配置不生效的解决办法

问题排查点

  • 检查环境变量是否传递给node进程:用ps eww <进程ID>查看目标node进程的环境变量,确认是否存在NODE_OPTIONS="--max-old-space-size=256"。如果缺失,说明环境变量未被正确继承(比如sudo执行脚本时会重置部分环境变量)。
  • 验证参数本身是否有效:直接在终端执行node --max-old-space-size=256 -e "console.log(process.memoryUsage().heapTotal)",若输出接近268435456(256MB对应的字节数),说明参数本身没问题,问题出在脚本的环境变量传递上。

可靠的修改方案

直接在node启动命令中显式指定堆内存参数,避免环境变量传递的不确定性,修改后的脚本如下:

#!/bin/sh

export HOST=0.0.0.0
export PORT=1234
export YPERSISTENCE=/opt/data/yjs-storage

nohup node --inspect --max-old-space-size=256 ./bin/server.js >> ws.log 2>&1 &
nohup node --inspect=0.0.0.0:9229 --max-old-space-size=256 ./bin/http_server.js >> http.log 2>&1 &

tail -f ws.log

确认配置生效

启动进程后,通过以下方式验证:

  • 连接到node的inspect端口,执行process.memoryUsage(),查看heapTotal字段的数值是否接近256MB对应的字节数。
  • 或者在进程运行时,查看进程的内存占用统计,确认堆内存上限已调整。

内容的提问来源于stack exchange,提问作者Dolphin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 21:38:15