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]