Node.js 应用故障排查手册 —— 雪崩型内存泄漏问题( 五 )

那么我们如何来感知到这里的错误的呢?这里我们的服务器配置过了 ulimit -c unlimited  , 因此 Node.js 应用 Crash 的时候内核会自动生成核心转储文件 , 而且性能平台目前也支持核心转储文件的生成预警 , 这一条规则目前也被放入了预设的快速添加告警规则中 , 可以参考工具篇中 Node.js 性能平台使用指南 - 配置合适的告警 一节 , 详细的规则内容如下所示:

这里需要注意的是 , 核心转储文件告警需要我们在服务器上安装的 Agenthub/Agentx 依赖的 Commandx 模块的版本在 1.5.2 之上(包含) , 这一块更详细的信息也可以看官方文档 核心转储分析能力 一节 。

问题排查过程

I. 分析栈信息

依靠上面提到的平台提供的核心转储文件生成时给出的告警 , 我们在收到报警短信时登录控制台 , 可以看到 Coredump 文件列表出现了新生成的核心转储文件 , 继续参照工具篇中 Node.js 性能平台使用指南 - 核心转储分析 中给出的转储和 AliNode 定制分析的过程 , 我们可以看到如下的分析结果展示信息:

推荐阅读