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。
- 增加物理内存:若应用内存需求高,直接升级服务器内存。