Switchyomega: Firefox 上资源占用问题(内存、CPU等)集中反馈处

Created on 9 Mar 2018  ·  25Comments  ·  Source: FelisCatus/SwitchyOmega

在使用此扩展大约2小时后,期间只是访问了google.com查了几个问题。
用的是auto_switch 。其中Proxy只配置了一个sock5地址。

症状如题:firefox很卡,打开任务管理器,看到firefox多个进程中的一个进程占用CPU排在第一,内存也是排在第一;为了排除,关闭一个标签页,看下任务管理器;直到5个网页标签页都关闭后,就剩“”附加组件管理器”这一个标签时,发现firefox进程cpu和内存占用率还在增加。于是在“附加组件管理器”标签中,禁用了abp扩展,结果占用还在。。观察约20s后,再禁用此扩展 switchOmega,切换到任务管理器,大约5s后,内存和cpu完全降下来了。浏览器只装两abp和此扩展,两个附件组件。


SwitchyOmega 2.5.10
Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:58.0) Gecko/20100101 Firefox/58.0

All 25 comments

感谢反馈,下次卡的时候请在 Debug Extension 界面,点击 Start Recording Performance 记录一会,然后将结果导出上传到这里。我可以看一下是否有性能问题或者故障。

https://crash-stats.mozilla.com/report/index/43859961-2622-4965-aa18-810de1180405#tab-details

这里有个由firefox记录的崩溃报告,崩溃前的状态大概是连续开了几个小时,期间一直在看tube(用ipv6,扩展是自动切换但切换规则没有写tube的页面),倒并没觉得卡然后突然就崩了,不知道是否与此bug相关@FelisCatus

不太像是这个问题,我觉得更应该怀疑 Flash 导致浏览器崩溃(如果 YouTube 是 Flash 的话)。而且我这里没办法从 Crash Report 看出 SwitchyOmega 的情况的,所以还是需要 Recording.

我在能用html5的站点都是用html5的,所以不会是flash导致的崩溃。在我用firefox的时间里确实是感觉用了这个扩展之后如果长时间放置,内存会明显被榨干,甚至需要分配大量的分页文件。我在想会不会是因为每个请求都过了一遍pac(事实上自动切换规则也是pac)导致注入量太大从而占完了内存?

案例一:
我的chrome浏览器在使用一段时间后(一两天以上),即使关掉所有的tab页面(留下一个空的tab)和禁用所有扩展,cpu仍然占用10%至30%,必须关掉浏览器再打开才会正常。这个问题折腾了很久找不到原因,后来删除SwitchyOmega,再也没出现过cpu持续占用的情况。

案例二:
上面说到我在chrome里删除了SwitchyOmega,所以有些国外网站访问不了,我就改用firefox了,结果firefox也一样,使用一段时间后即使关掉所有的tab页面(留下一个空的tab)cpu仍然占用10%至30%。但是和chrome不同的是,当我禁用SwitchyOmega后,cpu占用率立即降为0.

@lychichem PAC 本身没有缓存或者状态存储之类的,如果真有内存泄漏/资源占用问题我怀疑也是在 background page. 我这里没有办法复现这个问题,需要 Recording 才能继续调试。

@gdtv 现在的问题并不是我怀疑或者否认什么,而是没有足够的信息来发现问题。只要有了明确的 Recording 或者 Heap Dump 能定位问题,我当然会尽力去修复,不需要用删除 SwitchyOmega 以后 CPU 占用变少了之类的“证据”来说服我。

@FelisCatus 谢谢回复,SwitchyOmega一直是我最喜欢的插件,没有之一,等下次再出现问题,我再提交Recording 或者Heap Dump

Hi,我今天刚好碰到了这情况,保存了记录。看有没有帮助。不过我遇到的是内存越来越高差不多一秒涨1m左右,cpu没看到很高。另外,因为这个占用我还试过改用foxproxy,但同样会发生这种情况。感觉是火狐的问题。因为webextensions以前我是用foxy,没试过这样
profile.zip

Error: Attempt to postMessage on disconnected port omega_target_chromium_extension.min.js:4961:70
Unchecked lastError value: Error: Invalid tab ID: 541 ExtensionCommon.jsm:425
像陷进死循环,控制台会一直报这个错,大概是GC的原因,内存不断上升又再回落,将扩展重启后恢复正常。
可能跟这问题相关就发在这了。

default
是这个页面吗?我这里点了之后等好久一直是什么都没显示……是不是还要做什么……

@f1ume 感谢,等我有空看下 Profile. 最近可能比较忙,抱歉了。

@lychichem 不是的,是在“内存”那里记录。具体操作建议网上找教程。

@yuureidayo 这个是已知问题,已经记录 #1334, 晚点会修,但我不觉得这里有泄漏,因为记录日志的地方是在 localStorage, 超过的话会截断。如果有 GC 的话也不应该触发那么频繁。如果有 Profile 的话就好了……

@FelisCatus 没关系,我现在换chrome了。稳定很多。还有我发现network.proxy.socks_remote_dns这个打开的时候,会经常发生。关掉,这情况就大大降低。还是偶尔会有,但不那么频繁了

firefox下同样问题,cpu经常占用很高,关闭扩展重新启用恢复正常。

@f1ume network.proxy.socks_remote_dns 不在 SwitchyOmega 的控制范围内,而且如果我理解正确的话, SwitchyOmega 在 Firefox 上的行为是始终使用 Remote DNS, 与此选项无关。如果这个选项真的会影响性能,那我建议反馈到 Bugzilla.

我也有这个问题,firefox 61

image

我修改了 Firefox 的设置后截止目前没有再出现过这个问题

@lkebin 这倒是很奇怪,我暂时还看不出这些选项和 SwitchyOmega 有什么关系……

Firefox 上的 SwitchyOmega v2.5.16 已经发布。这个版本使用了新的 API, 资源占用情况应该也会很不同。请大家更新到最新版本然后继续测试资源占用问题。如果还存在占用问题,请重新导出 Recording 和 Heap Dump. 注意:之后会在最新版基础上进行优化,所以之前版本导出的文件不再受理。

👌 我更新到新版本,恢复 Firefox 默认设置试试

screen shot 2018-07-10 at 3 00 02 pm
screen shot 2018-07-10 at 3 07 42 pm

OmegaLog_1531206067599.txt

SwitchyOmega 2.5.16
Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:61.0) Gecko/20100101 Firefox/61.0

怎么那么耗资源,不确定是不是 SwitchyOmega 的问题

@lkebin 这太夸张了,而且很难确定是哪个扩展的问题啊,建议还是去 SwitchyOmega background.html 做一个 Dump ,就能看到 SwitchyOmega 占用多少了。

同样碰到内存涨上来的问题,重启后恢复。
SwitchyOmega 2.5.17
Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:61.0) Gecko/20100101 Firefox/61.0

v2.5.19 去掉了一个反复打印的错误,也许内存占用问题会有好转。建议更新后再试试看。如还是遇到内存问题,请务必提供最新版的 memory dump (范例见 #1587 ),有了这个马上就能分析和修复(例如 #1587),只是说一句内存占用高我基本没法定位问题。

你好,火狐出了63后,我又试了。从beta3到beta8,这么多天都没有再出现类似情况了。

Was this page helpful?
0 / 5 - 0 ratings