如何在 Node.js 应用中查看 GC 日志?
介绍几种方法在 Node.js 应用中查看和分析 GC 日志,帮助开发者进行内存优化。
在Node.js应用中查看GC日志可通过以下两种方式实现:
1. 启动时添加Trace-GC参数
通过在启动命令添加--trace-gc
参数输出精简的GC事件信息:
node --trace-gc your-app.js
或结合--gc
参数周期性输出GC统计报告:
node --gc your-app.js
日志会直接输出到控制台,持续跟踪GC频率和时间开销。
2. 通过Node.js性能平台动态分析
若应用部署在类似阿里云Node.js性能平台的环境:
- 进入目标应用实例详情页面,选中进程
- 点击GC Trace启动数据抓取(默认3分钟)
- 完成后在文件页面生成日志文件
- 点击转储上传日志后选择分析
平台自动生成可视化报告,包含核心指标:
- GC总次数和触发类型占比
- 每次GC的内存回收效率及耗时
- Full GC暂停时间分布统计
适合线上问题定位,无需变更启动命令即可回溯分析。
通过系统命令查看实时统计:
node -e 'setInterval(()=>{global.gc?console.log(process.memoryUsage()):null},1000)'
适用于排查内存泄漏时结合v8.setFlagsFromString('--expose-gc')
主动触发的场景。