阅读:5926回复:24
[Firefox] 如何排查 Firefox 内存占用攀升是否是扩展引起的
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 网页在某种情况下会导致内存不断攀升,这时只能关掉再开,让内存释放一下。 |
|
|
1楼#
发布于:2012-09-07 19:24
用chrome之后我再也不担心内存了 Firefox最近在我这里总是崩溃,本来 TU 更新后想回到Firefox的
最近我的就是出现泄漏还是怎么回事@!!一关firefox 就可以释放出1点几G的内存。 描述:123 图片:(36E~J0Z1C]SYTTMF43@T(U.jpg ![]() |
|
2楼#
发布于:2012-09-07 19:24
|
|
3楼#
发布于:2012-09-07 19:24
楼上这个看不出是哪个扩展的文件引起的。只能用二分法先排查扩展。
|
|
|
4楼#
发布于:2012-09-07 19:24
有那个错误的都是这种的,怎么找到原因?
Timestamp: 2012/9/8 15:11:35 Error: SyntaxError: illegal character Source File: javascript:%20TypeError:%20can%E2%80%99t%20access%20dead%20object Line: 1, Column: 15 Source Code: TypeError: can’t access dead object |
|
|
5楼#
发布于:2012-09-07 19:24
royallin:试下这个? 改改背景色為啥代碼要那麼長阿... |
|
|
6楼#
发布于:2012-09-07 19:24
這種策略我覺得很失敗,就像昨天我要下一個Alkido閱讀器,發現Google Play上必須用手機連接上去才可以下載,無法通過電腦下載到本地再往手機上裝。而我又沒有無線連接。於是無奈只有去別的網站下了一個來裝。你可以不讓我裝,但我不認同你的「只有我這裡才是安全的」這種理念。那以後是不是WINDOWS操作系統的軟體都要去微軟的網站下載了裝?明明應該向擴展的作者傳授正確的方式來避免記憶體洩漏,卻變成了立一個衙門來禁止這個,禁止那個。————當然現在Firefox也好不好哪裡去,一升級就這失效那失效的。 是比較安全阿!像 AMO 至少會審核內容及相容性吧! 當然你也可以去來路不明的地方安裝如果你看的懂內容沒有任何惡意腳本... 去微軟載也總比去啥 360 來著好吧... 升級就失效是改動太大,只能跟著改吧!不然就用 ESR... 过过嘴瘾... |
|
|
7楼#
发布于:2012-09-07 19:24
浮舟:查找栏摁esc就关了,还要脚本关?ctrl+f呼出后要多点一个箭头(或摁回车),其他也没什么。 试下这个? 再发个修改网站背景颜色的CSS代码 - 用户样式(User Style) - 广场 @ Mozest.com - Mozilla 社区 http://g.mozest.com/thread-41494-1-1 |
|
8楼#
发布于:2012-09-07 19:24
所以chrome已经禁止用户从第三方网站安装扩展了。 扣肉浏览器,哪里泄露割哪里! 这种策略我觉得很失败,就像昨天我要下一个Alkido阅读器,发现Google Play上必须用手机连接上去才可以下载,无法通过电脑下载到本地再往手机上装。而我又没有无线连接。于是无奈只有去别的网站下了一个来装。你可以不让我装,但我不认同你的“只有我这里才是安全的”这种理念。那以后是不是WINDOWS操作系统的软件都要去微软的网站下载了装?明明应该向扩展的作者传授正确的方式来避免内存泄漏,却变成了立一个衙门来禁止这个,禁止那个。————当然现在Firefox也好不好哪里去,一升级就这失效那失效的。 ————我只是过过嘴瘾……没有解决方案。 |
|
|
9楼#
发布于:2012-09-07 19:24
所以chrome已经禁止用户从第三方网站安装扩展了。 Firefox 也是,也可以自訂。 |
|
|
10楼#
发布于:2012-09-07 19:24
文中提到的Scriptish bug只是万千被人发现的内存bug之一,作者说应该已经修复了。。https://bugzilla.mozilla.org/show_bug.cgi?id=743215
|
|
|
11楼#
发布于:2012-09-07 19:24
loveqianool:用chrome之后我再也不担心内存了 Firefox最近在我这里总是崩溃,本来 TU 更新后想回到Firefox的回到原帖 确实不用担心,因为占的很大,让人不那么敏感,但依然有可能会有扩展有内存泄露问题,事实上,Google最近在整治第三方扩展,因为开发参差不齐,出现很多内存泄露和安全性问题,所以chrome已经禁止用户从第三方网站安装扩展了。 PS:用chrome之后我再也不担心内存了这句突然让我想起了用xx高点读机后妈妈再也不用担心我的学习了。^_^ |
|
|
12楼#
发布于:2012-09-07 19:24
不管内存多大多便宜,内存占用在关闭网页后不释放或静止时一直上升本来就是不正常的,我们追求的是内存的有效管理和控制,而不是因为内存大而放任自流。
这些脚本都是无法及时删除无用对象使得占用的内存无法回收或释放。有可能占用不大,但肯定是不合理的开发代码。好在ff15给我们发现他们有问题的机会。 |
|
|
13楼#
发布于:2012-09-07 19:24
用chrome之后我再也不担心内存了 Firefox最近在我这里总是崩溃,本来 TU 更新后想回到Firefox的
|
|
14楼#
发布于:2012-09-07 19:24
查找栏摁esc就关了,还要脚本关? 那个自动关的就是鼠标点到别处就自动关了,是稍微方便点。 8过这几个脚本我都在用,没有查找到它们引发的内存泄漏,事实上没有查到任何泄漏。 但是那个自动高亮的UCJS是比较危险,输入慢了的话,只输入一个字符就会开始自动高亮,复杂的网页会造成卡住。联系过作者加一个minimum number of characters=3,没有回复。 |
|
|
上一页
下一页