Node.js 应用故障排查手册 —— 雪崩型内存泄漏问题( 三 )
楔子
实践篇一中我们也看到了一个比较典型的由于开发者不当使用第三方库 , 而且在配置信息中携带了三方库本身使用不到的信息 , 导致了内存泄漏的案例 , 实际上类似这种相对缓慢的 Node.js 应用内存泄漏问题我们总是可以在合适的机会抓取堆快照进行分析 , 而且堆快照一般来说确实是分析内存泄漏问题的最佳手段 。
但是还有一些问题场景下下应用的内存泄漏非常严重和迅速 , 甚至于在我们的告警系统感知之前就已经造成应用的 OOM 了 , 这时我们来不及或者说根本没办法获取到堆快照 , 因此就没有办法借助于之前的办法来分析为什么进程会内存泄漏到溢出进而 Crash 的原因了 。 这种问题场景实际上属于线上 Node.js 应用内存问题的一个极端状况 , 本节将同样从源自真实生产的一个案例来来给大家讲解下如何处理这类极端内存异常 。
本书首发在 Github , 仓库地址:https://github.com/aliyun-node/Node.js-Troubleshooting-Guide , 云栖社区会同步更新 。
最小化复现代码
同样我们因为例子的特殊性 , 我们需要首先给出到大家生产案例的最小化复现代码 , 建议读者自行运行一番此代码 , 这样结合起来看下面的排查分析过程会更有收获 。 最小复现代码还是基于 Egg.js , 如下所示:
推荐阅读
- 三国杀|Win 11也能运行安卓应用,流畅度秒杀模拟器,不信你来试试?
- 少前|《少前: 云图计划》第四期故障协议6800战士队心得
- 原神|腾讯米哈游达成共识,原神官服上架应用宝,真的三七分账了?
- 王者荣耀|王者荣耀防沉迷系统再次升级 未成年应用商店怒打一星差评泄愤
- 计算器|?NS神作来了! 计算器应用获9.1分超越旷野之息
- 商人|梦幻西游:系统故障,全服集体掉线,鬼才商人坐收渔翁之利!
- pdd|应用商城显示LOL手游上线时间,网友:别上线了自己玩吧
- 小牛互娱|移动应用矩阵再升级,小牛互娱广募精英推动行业变革
- 梦幻西游|梦幻西游:几种快捷键的应用,操作丝滑提升效率
- 网络安全|避开官方应用审核,赌博色情APP上演变“装”