当前位置: 首页 > 知识库问答 >
问题:

javascript - 后台管理系统浏览器内存占用过高,怎么排查?

阎阎宝
2023-12-01


这是一个vue2的后台管理系统,有时候会发现这个标签页的内存一直上升,好像是有内存泄漏,像这种情况该怎么排查呢?

共有3个答案

孙俊彦
2023-12-01

必定是内存泄漏了。不太好解决。

  1. eventBus
  2. 定时器
  3. console

这三个方面吧。一个页面一个页面改,可以从高频页面开始查。低频的不管也行。

牧信厚
2023-12-01

录制然后分析代码 心里都有个大概
image.png

邹博裕
2023-12-01

首先,你需要确定内存泄漏的存在。在Chrome中,你可以使用内置的开发者工具来检查内存使用情况。以下是一些步骤:

  1. 打开Chrome,然后按F12键打开开发者工具。
  2. 点击"Memory"选项卡。
  3. 点击"Take Heap Snapshot"按钮。这将会创建一个快照,显示当前内存的使用情况。
  4. 如果你发现内存使用量在不断上升,那么可能存在内存泄漏。

确定了内存泄漏的存在之后,你可以使用以下方法来排查:

  1. 分析堆内存快照:在Chrome的开发者工具中,你可以通过分析堆内存快照来找出哪些对象占用了大量的内存。在"Take Heap Snapshot"按钮下方,有一个"Record allocation timeline"按钮。点击这个按钮,然后按F8开始记录。当你觉得内存使用量在上升时,按F9停止记录,然后查看"Record allocation timeline"下的图表,找出哪些对象被大量分配内存。
  2. 分析内存泄漏的原因:在确定了哪些对象占用了大量的内存之后,你需要分析这些对象是从哪里来的。在堆内存快照中,你可以点击任何对象,然后查看它的" Dominator Tree "(支配树)。这样你可以找到这个对象的父对象,然后一路向上找到这个对象被哪个函数创建的。如果这个函数不是你预期的,那么可能就是这个函数的错误导致了内存泄漏。
  3. 找到并修复内存泄漏:在找到导致内存泄漏的函数之后,你需要修复这个函数,使其正确地释放内存。这可能涉及到修改代码,或者确保所有的异步调用都正确地处理了错误。

注意:上述步骤可能需要一些时间来理解和使用。如果你不熟悉这些工具和步骤,那么可能需要找一个有经验的JavaScript开发者或者性能优化专家来帮助你。

 类似资料:
  • 主要内容:选择合适的网站,CMS平台在本章中,我们将首先讨论如何为您的网站做出正确的选择,以及为网站选择哪个内容管理系统(CMS)平台。 选择合适的网站 让我们通过问自己几个问题来理解这一点,然后详细讨论这个概念。 问题1 - 你要花多少钱? 回答 - 这是与预算直接相关的主要问题之一。 如果你的预算很低,那么应该考虑一些非商业性的,而不是太复杂。 问题2 - 需要多少时间来计划维护? 回答 - 如果要发布很多优惠报价,最好有一个博

  • 存储器工作原理 应用程序如何在计算机系统上运行的呢?首先,用编程语言编写和编辑应用程序,所编写的程序称为源程序,源程序不能再计算机上直接被运行,需要通过三个阶段的处理:编译程序处理源程序并生成目标代码,链接程序把他们链接为一个可重定位代码,此时该程序处于逻辑地址空间中;下一步装载程序将可执行代码装入物理地址空间,直到此时程序才能运行。 程序编译 源程序经过编译程序的处理生成目标模块(目标代码)。一

  • 问题内容: 我有以下代码 users是仅具有id和name的用户对象的数组。数组中的用户对象数-150 items是仅具有id和rating的item对象的数组。数组中的项目对象数-150 当我在浏览器中渲染此图像时,当我尝试在chrome-v23.0.1271.95中进行性能分析时,它将占用约250MB的堆内存。 我正在使用AngularJS v1.0.3。 角度是否有问题,或者我在这里做错了什

  • 日期:1998年10月30日星期五格林尼治时间13:19:41 服务器:Apache/1.3.3(Unix) 缓存控制:max-age=3600,必须重新验证 有效期:1998年10月30日星期五格林尼治时间14:19:41 最后修改:1998年6月29日星期一02:28:12格林尼治时间 ETAG:“3E86-410-3596FBBC”

  • CPU:RK3568 内核:4.19 系统:debian 11 ,浏览器chromium 91.044 打开网页CPU从30%,随着时间不断增长,CPU占用率一直增长从30%增长到100%为止。 请各位高手给指点一下。 解决文字

  • RBAC - YII2权限管理 开源协议 GPL 注意事项 严禁使用本软件从事任何非法活动 安装步骤 复制install目录下的dev文件至config目录下 修改dev目录下的db.php中的数据库配置 数据库导入SQL脚本,对应的脚本install目录下 默认密码:ranko/admin 后台地址:index.php?r=site/login 使用事项 starter/filter/Backe