当前位置: 首页 > 网络应用技术

使用Chrome开发人员工具的内存选项卡来分析内存泄漏问题

时间:2023-03-08 10:57:16 网络应用技术

  当Node.js进程在服务器侧渲染模式的Web应用程序中运行时,遇到内存泄漏问题时,我们通常可以观察到频繁的内存峰和POD重新启动,如Dynatrace工具中所示,如下所示:

  分析内存泄漏的关键是在不同的时间点收集多个内存转储,并比较每个集合的增长,例如,在重新启动POD和内存饱和之前不久。

  您可以从Chrome中收集并从浏览器开发工具>内存>内存(应该选择)收集内存转储。

  在不同时间段执行内存转储创建后,您可以使用嵌入式比较工具快速识别两个时间点之间的最大成长对象。

  使用Chrome检查工具以连接到远程目标并实时观察内存使用量。如果可以在本地复制内存泄漏问题,则可以调试本地店面。

  在调试模式下运行node.js应用程序,并访问chrome:// Inspect。如果Localhost:9229是在端口转发中配置的,则应查看应用程序并调试。

  在JS店面应用程序中导致内存泄漏的最常见错误之一是订阅事件,而无需取消组件破坏后取消订阅。以下是防止此内存泄漏的示例 - 关键是检查代码并确保任何事件订阅将在ngondestroy()中取消。

  当使用EventService并忘记取消源可观察的情况时,也会发生相同的情况。在任何时候使用事件服务,应使用可移动功能(拆卸)来取消注册。

  SSR缓存是在SSR模式下运行的JS店面应用程序中改善内存消耗的最强大工具之一。有两种方法:

  原始:https://juejin.cn/post/7098674170044612622