fang5566
管理员
管理员
  • UID3719
  • 注册日期2005-03-07
  • 最后登录2024-05-30
  • 发帖数18483
  • 经验4837枚
  • 威望5点
  • 贡献值4316点
  • 好评度1116点
  • 社区居民
  • 最爱沙发
  • 忠实会员
  • 终身成就
阅读:5119回复:24

[Firefox] 如何排查 Firefox 内存占用攀升是否是扩展引起的

楼主#
更多 发布于:2012-09-07 19:24
Firefox 15.0 的一个重大改进就是大幅优化了附加组件(尤其是扩展)的内存占用(什么?你不知道?看这里)。但在日常使用中,还是有用户反映仍有内存泄露状况发生,实际表现是 Firefox 随着使用时间的增加,内存占用会不断地攀升。ghack 的这篇文章为我们排查是哪些扩展引起的内存占用提供了一些建议。

Firefox: see if increased memory consumption is caused by addons via ghack

文中提到 scriptish 和 speedial 这两款扩展已知会引起内存泄漏。

其中一个查看哪个扩展引起内存泄漏的方法是通过错误控制台(ctrl+shift+J)。如果有扩展引起内存泄漏,只要在错误控制台的过滤器中输入 TypeError: can’t access dead object,定位到这个错误消息,通过这个消息本身来找到是哪个扩展引起内存泄漏。

其次就是比较笨的方法,就是用安全模式逐个观察。先进入安全模式,禁用所有扩展,这时内存不会泄漏,然后逐个开启扩展,观察内存是否不断攀升。当然,强烈建议你使用二分法来排查,即先禁用一半的扩展,如果内存泄漏,则在剩下的那一半。然后继续禁用一半,启用一半来排查直到找到有问题的那个。


同时文中还提到 Google reader 网页在某种情况下会导致内存不断攀升,这时只能关掉再开,让内存释放一下。
Firefox More than meets your experience
taglife
千年狐狸
千年狐狸
  • UID38488
  • 注册日期2012-03-20
  • 最后登录2013-04-02
  • 发帖数2052
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度1点
1楼#
发布于:2012-09-07 19:24
错误控制台 沒看見 过滤器?!
Firefox 開啟安全模式,停用個人設定、佈景主題及擴充套件(無附加元件)測試:
說明 > 重新啟動但停用附加元件(Firefox 4+)
Firefox Profile: 說明 > 疑難排解資訊 > 開啟資料夾
排版引擎:Firefox(Gecko), Opera(Presto), Google Chrome(WebKit),
Safari(WebKit), Internet Explorer(Trident), Konqueror(KHTML)
kmc
kmc
管理员
管理员
  • UID165
  • 注册日期2004-11-25
  • 最后登录2022-09-22
  • 发帖数9186
  • 经验397枚
  • 威望1点
  • 贡献值124点
  • 好评度41点
  • 忠实会员
  • 终身成就
  • 社区居民
2楼#
发布于:2012-09-07 19:24
taglife:错误控制台 沒看見 过滤器?!回到原帖


就是那个输入框[url][/url]
Waterfox Current和Firefox Nightly都用,逐渐走出XUL扩展依赖
浮舟
狐狸大王
狐狸大王
  • UID35715
  • 注册日期2011-03-26
  • 最后登录2014-06-14
  • 发帖数371
  • 经验17枚
  • 威望0点
  • 贡献值0点
  • 好评度2点
3楼#
发布于:2012-09-07 19:24
文中提出的扩展,一个用油猴子所以没用过,一个装了快一年用腻了、最近用本地HTML替换了。
内存没什么变化╮(╯_╰)╭
倒是卸掉TU后内存从350+猛降到280+

ORZ,这么一筛查发现只有2条内容,且大量重复。

页面浅绿脚本动作频频。。。另一个看不懂。
时间戳: 2012-9-7 20:31:22
错误: Could not convert JavaScript argument arg 0 [nsIDOMWindow.getComputedStyle]
源文件:file:///C:/Documents%20and%20Settings/Administrator/Application%20Data/Mozilla/Firefox/Profiles/乱码.default/gm_scripts/%E9%A1%B5%E9%9D%A2%E6%B5%85%E7%BB%BF%E8%83%8C%E6%99%AF%E8%89%B2/Green.user.js
行:51

时间戳: 2012-9-7 20:31:43
错误: SyntaxError: illegal character
源文件:javascript:%20TypeError:%20can%E2%80%99t%20access%20dead%20object
行:1,列:15
源代码:
 TypeError: can’t access dead object
pcxfirefox
千年狐狸
千年狐狸
  • UID39042
  • 注册日期2012-06-22
  • 最后登录2018-01-15
  • 发帖数2539
  • 经验1263枚
  • 威望2点
  • 贡献值242点
  • 好评度133点
  • 最爱沙发
  • 忠实会员
  • 社区居民
4楼#
发布于:2012-09-07 19:24
我试了下

这个提示全是定位到的uc脚本
http://pcxfirefox.wordpress.com/
fang5566
管理员
管理员
  • UID3719
  • 注册日期2005-03-07
  • 最后登录2024-05-30
  • 发帖数18483
  • 经验4837枚
  • 威望5点
  • 贡献值4316点
  • 好评度1116点
  • 社区居民
  • 最爱沙发
  • 忠实会员
  • 终身成就
5楼#
发布于:2012-09-07 19:24
那些uc脚本或者user脚本是可能会产生内存泄漏。建议禁用或卸载。
Firefox More than meets your experience
pcxfirefox
千年狐狸
千年狐狸
  • UID39042
  • 注册日期2012-06-22
  • 最后登录2018-01-15
  • 发帖数2539
  • 经验1263枚
  • 威望2点
  • 贡献值242点
  • 好评度133点
  • 最爱沙发
  • 忠实会员
  • 社区居民
6楼#
发布于:2012-09-07 19:24
fang5566:那些uc脚本或者user脚本是可能会产生内存泄漏。建议禁用或卸载。回到原帖

那么这几个uc脚本有无扩展之类的替代品?
按 Ctrl+F 自动切换“查找栏”的脚本,同时自动高亮关键字.uc.js
自动关闭查找栏.uc.js
FindNumber.uc.js
http://pcxfirefox.wordpress.com/
taglife
千年狐狸
千年狐狸
  • UID38488
  • 注册日期2012-03-20
  • 最后登录2013-04-02
  • 发帖数2052
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度1点
7楼#
发布于:2012-09-07 19:24
fang5566:那些uc脚本或者user脚本是可能会产生内存泄漏。建议禁用或卸载。回到原帖

所以 v15 只修了扩展的内存洩漏,而沒有修 uc 或者 user 脚本的内存洩漏?!
又悲劇了...
Firefox 開啟安全模式,停用個人設定、佈景主題及擴充套件(無附加元件)測試:
說明 > 重新啟動但停用附加元件(Firefox 4+)
Firefox Profile: 說明 > 疑難排解資訊 > 開啟資料夾
排版引擎:Firefox(Gecko), Opera(Presto), Google Chrome(WebKit),
Safari(WebKit), Internet Explorer(Trident), Konqueror(KHTML)
holoM
火狐狸
火狐狸
  • UID34176
  • 注册日期2010-10-04
  • 最后登录2019-06-25
  • 发帖数221
  • 经验36枚
  • 威望0点
  • 贡献值14点
  • 好评度2点
  • 社区居民
8楼#
发布于:2012-09-07 19:24
pcxfirefox
那么这几个uc脚本有无扩展之类的替代品?
按 Ctrl+F 自动切换“查找栏”的脚本,同时自动高亮关键字.uc.js
自动关闭查找栏.uc.js
FindNumber.uc.js
回到原帖


这个难道泄漏的很严重?? 比较实用啊...牙败.
目前还用着Firefox 24
浮舟
狐狸大王
狐狸大王
  • UID35715
  • 注册日期2011-03-26
  • 最后登录2014-06-14
  • 发帖数371
  • 经验17枚
  • 威望0点
  • 贡献值0点
  • 好评度2点
9楼#
发布于:2012-09-07 19:24
查找栏摁esc就关了,还要脚本关?ctrl+f呼出后要多点一个箭头(或摁回车),其他也没什么。
这年头大内存应该满地都是了吧?不是泄的很严重那就无视了呗,内存装来就是用的。
我才1G内存也能跑。给菜单+个重启按钮,觉得慢了点一次就行了,不麻烦。

前阵子看到几个泄到2G+的
------------
页面浅绿脚本无替代物。CSS浅绿实在太弱了。唉,还是用着了。
pcxfirefox
千年狐狸
千年狐狸
  • UID39042
  • 注册日期2012-06-22
  • 最后登录2018-01-15
  • 发帖数2539
  • 经验1263枚
  • 威望2点
  • 贡献值242点
  • 好评度133点
  • 最爱沙发
  • 忠实会员
  • 社区居民
10楼#
发布于:2012-09-07 19:24
浮舟:查找栏摁esc就关了,还要脚本关?ctrl+f呼出后要多点一个箭头(或摁回车),其他也没什么。
这年头大内存应该满地都是了吧?不是泄的很严重那就无视了呗,内存装来就是用的。
我才1G内存也能跑。给菜单+个重启按钮,觉得慢了点一次就行了,不麻烦。

前阵子看到几个泄到2G+的
------------
页面浅绿脚本无替代物。CSS浅绿实在太弱了。唉,还是用着了。
回到原帖

我的esc坏了……
http://pcxfirefox.wordpress.com/
kmc
kmc
管理员
管理员
  • UID165
  • 注册日期2004-11-25
  • 最后登录2022-09-22
  • 发帖数9186
  • 经验397枚
  • 威望1点
  • 贡献值124点
  • 好评度41点
  • 忠实会员
  • 终身成就
  • 社区居民
11楼#
发布于:2012-09-07 19:24
查找栏摁esc就关了,还要脚本关?


那个自动关的就是鼠标点到别处就自动关了,是稍微方便点。

8过这几个脚本我都在用,没有查找到它们引发的内存泄漏,事实上没有查到任何泄漏。

但是那个自动高亮的UCJS是比较危险,输入慢了的话,只输入一个字符就会开始自动高亮,复杂的网页会造成卡住。联系过作者加一个minimum number of characters=3,没有回复。
Waterfox Current和Firefox Nightly都用,逐渐走出XUL扩展依赖
loveqianool
狐狸大王
狐狸大王
  • UID29223
  • 注册日期2009-06-19
  • 最后登录2022-01-29
  • 发帖数308
  • 经验153枚
  • 威望0点
  • 贡献值92点
  • 好评度2点
  • 社区居民
  • 忠实会员
12楼#
发布于:2012-09-07 19:24
用chrome之后我再也不担心内存了  Firefox最近在我这里总是崩溃,本来 TU 更新后想回到Firefox的
fang5566
管理员
管理员
  • UID3719
  • 注册日期2005-03-07
  • 最后登录2024-05-30
  • 发帖数18483
  • 经验4837枚
  • 威望5点
  • 贡献值4316点
  • 好评度1116点
  • 社区居民
  • 最爱沙发
  • 忠实会员
  • 终身成就
13楼#
发布于:2012-09-07 19:24
不管内存多大多便宜,内存占用在关闭网页后不释放或静止时一直上升本来就是不正常的,我们追求的是内存的有效管理和控制,而不是因为内存大而放任自流。

这些脚本都是无法及时删除无用对象使得占用的内存无法回收或释放。有可能占用不大,但肯定是不合理的开发代码。好在ff15给我们发现他们有问题的机会。
Firefox More than meets your experience
fang5566
管理员
管理员
  • UID3719
  • 注册日期2005-03-07
  • 最后登录2024-05-30
  • 发帖数18483
  • 经验4837枚
  • 威望5点
  • 贡献值4316点
  • 好评度1116点
  • 社区居民
  • 最爱沙发
  • 忠实会员
  • 终身成就
14楼#
发布于:2012-09-07 19:24
loveqianool:用chrome之后我再也不担心内存了  Firefox最近在我这里总是崩溃,本来 TU 更新后想回到Firefox的回到原帖


确实不用担心,因为占的很大,让人不那么敏感,但依然有可能会有扩展有内存泄露问题,事实上,Google最近在整治第三方扩展,因为开发参差不齐,出现很多内存泄露和安全性问题,所以chrome已经禁止用户从第三方网站安装扩展了。

PS:用chrome之后我再也不担心内存了这句突然让我想起了用xx高点读机后妈妈再也不用担心我的学习了。^_^
Firefox More than meets your experience
上一页
游客

返回顶部