WeakRef
)处理缓存,避免强引用导致内存无法释放。fs.createReadStream
等)处理大文件,避免一次性加载到内存。Set
替代数组查找)。--max-old-space-size
参数设置堆内存上限(单位:MB),例如:node --max-old-space-size=4096 app.js
。--trace-gc
参数监控垃圾回收情况,辅助分析内存问题。ulimit -n 65535
,并修改/etc/security/limits.conf
使其永久生效。net.ipv4.tcp_tw_reuse
)以提升并发性能。/swapfile
),避免内存不足时系统频繁交换。heapdump
:生成堆快照,定位内存泄漏。Chrome DevTools
:通过--inspect
远程调试,实时查看内存占用。pm2
:监控进程内存使用,支持自动重启和集群模式。process.memoryUsage()
定期输出内存数据,结合Prometheus+Grafana实现可视化监控。Cluster
模块利用多核CPU,分散内存压力。参考来源:[1,2,3,4,5,6,7,8,9,10,11]