salam
小狐狸
小狐狸
  • UID5122
  • 注册日期2005-04-15
  • 最后登录2006-10-24
  • 发帖数53
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
阅读:2925回复:8

关于 Firefox “内存泄漏” from Firefox首席工程师 Ben's Blog

楼主#
更多 发布于:2006-02-15 15:08
/* 我在 mozine.org 上看到这个内容,就粗略地翻译了一下,并且也找到了原文链接,希望对广大狐狸们有用,水平有限,还望批评指正 */

很多人都抱怨 Firefox 存在“内存泄露”。所有版本的 Firefox 无疑会泄露内存 - 这是复杂软件的通病。我们承诺尽我们所能去修复这些问题。David Baron 和其他人在这个领域已作出了大量杰出的工作。

然而,我认为,许多人谈论的关于 Firefox 1.5 的问题,事实上根本不是内存泄露。实际上,那是它的一个功能罢了。

为了在浏览时改善性能(研究表明,39%网页浏览行为是对以前的 < 10 的已访问网页的再浏览,通常是使用向后按钮,)Firefox 1.5 实现了一个“向后-向前”缓冲,用于保存最近几个会话的历史项目中渲染的文档。这可能会是一大堆数据。而该功能是一种折中方案。你从中获得的是,浏览网页时表现出来的更快的性能。

对于仍然关心该问题的那些人,这里是关于该功能如何工作的描述。Firefox 有一个选项 browser.sessionhistory.max_total_viewers,默认值为-1。当设置为该值时,Firefox 会根据以下分类方式,计算缓存于系统内存中的网页数量:
RAM		缓存的网页数量

32MB		0
64MB		1
128MB		2
256MB		3
512MB		5
1GB		8
2GB		8
4GB		8

(参考: nsSHistory.cpp)

默认时,按这个方式缓存的网页数量不会超过 8 个。如果,你把该选项设置成其他值,如,25,那么会缓存 25 个网页。你可以把它设置成 0 以禁用该功能,但是,你的网页载入性能会因此而受到损失。

编辑:在评论中,Boris 和 David 指出,我误读了代码,而那是一个全局选项,从而对于整个会话而不是对于每个标签页而言,缓存的网页数量不会超过 8 个。我在最初的帖子谈到的是对于每个标签页。Oops!

原文链接
Time is going by... 戒浮戒躁!
fygenius
千年狐狸
千年狐狸
  • UID6352
  • 注册日期2005-05-26
  • 最后登录2019-05-01
  • 发帖数1116
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 社区居民
1楼#
发布于:2006-02-15 15:08
显然是要顶的。。
.
fygenius
千年狐狸
千年狐狸
  • UID6352
  • 注册日期2005-05-26
  • 最后登录2019-05-01
  • 发帖数1116
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 社区居民
2楼#
发布于:2006-02-15 15:08
"I once had Firefox using more then 800megs of memory with only one window containing one tab open."

I'll see your 800 and raise you to, wait for it, 954MB!

呵呵,全世界都一样
.
fygenius
千年狐狸
千年狐狸
  • UID6352
  • 注册日期2005-05-26
  • 最后登录2019-05-01
  • 发帖数1116
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 社区居民
3楼#
发布于:2006-02-15 15:08
How do other browsers (Opera for instance) use fastback-like technology without ramping up their browser's memory consumption? Is it a design flaw?


这个问题比较尖锐。。
.
哈哈
非常火狐
非常火狐
  • UID8380
  • 注册日期2005-09-03
  • 最后登录2013-06-23
  • 发帖数946
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
4楼#
发布于:2006-02-15 15:08
确实要顶.
mallon
小狐狸
小狐狸
  • UID11329
  • 注册日期2006-01-29
  • 最后登录2006-03-16
  • 发帖数25
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
5楼#
发布于:2006-02-15 15:08
应该缓存到临时文件里而不是内存中
pho
pho
千年狐狸
千年狐狸
  • UID4300
  • 注册日期2005-03-22
  • 最后登录2016-12-14
  • 发帖数2597
  • 经验40枚
  • 威望0点
  • 贡献值16点
  • 好评度2点
  • 社区居民
  • 忠实会员
6楼#
发布于:2006-02-15 15:08
机器读写内存的速度最快,临时文件如果在硬盘上,那样会降低速度
Tyrone
小狐狸
小狐狸
  • UID10339
  • 注册日期2005-12-05
  • 最后登录2017-01-15
  • 发帖数1
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
7楼#
发布于:2006-02-15 15:08
我把这个选项设置成0了,感觉内存占用是好多了
CooB
千年狐狸
千年狐狸
  • UID2829
  • 注册日期2005-02-06
  • 最后登录2023-05-23
  • 发帖数2176
  • 经验140枚
  • 威望0点
  • 贡献值18点
  • 好评度3点
  • 社区居民
  • 忠实会员
8楼#
发布于:2006-02-15 15:08
个人感觉用1或者2好一些,算是小小折中一下子
游客

返回顶部