温馨提示×

centos nodejs内存配置技巧

小樊
43
2025-08-20 16:33:42
栏目: 编程语言

一、配置内存限制

  • 命令行参数:启动时使用 --max-old-space-size 指定内存上限(单位:MB),如 node --max-old-space-size=2048 your-app.js
  • 环境变量:通过 NODE_OPTIONS 设置,如 export NODE_OPTIONS=--max-old-space-size=2048,可添加到 ~/.bashrc 永久生效。
  • PM2管理:在 ecosystem.config.js 中配置 max_memory_restart,如 max_memory_restart: '2G',超限时自动重启。
  • Docker容器:运行时添加 --memory--max-old-space-size 参数,如 docker run -m 4g --max-old-space-size=2g your-image

二、代码层面优化

  • 减少内存泄漏:避免全局变量,及时移除事件监听器,使用 heapdump 工具检测泄漏。
  • 流式处理数据:处理大文件时使用 fs.createReadStream 等流操作,避免一次性加载到内存。
  • 优化缓存:使用 node-cache 等库缓存重复数据,避免重复计算。

三、系统级优化

  • 调整内核参数:修改 /etc/sysctl.conf,降低 vm.swappiness(如设为10)减少Swap使用,或提高 vm.overcommit_memory(设为1)避免OOM。
  • 增加物理内存:若应用内存需求高,直接升级服务器内存。

0