能不能给我一个靠谱点的浏览器啊

前几个星期,我因为 Firefox 把我的系统拖的非常迟钝,我忍无可忍,于是把浏览器切换成了 Safari。

我在用 Firefox 打开一些标签页后,从 Activity Monitor 里 Firefox 占用的内存,基本上没有下来过 500M 的,经常还可以上 G。我的机器的内存一共才 2G,一个浏览器就给我占用一大半,这让我情何以堪啊。

当然,我承认我打开的标签页或许有点多了一些,但好歹也不应该这么糟蹋内存啊。而且浏览器的内存释放机制可能有点问题,当我把标签页一个一个的关闭后,内存还是没有被释放,于是我一气之下就换了浏览器。

我的想法是或许 Firefox 的代码里有内存泄露的地方,毕竟 Firefox 是跨平台软件,横跨 Windows / Linux / Mac OS X 三大平台,肯定在 Windows 平台上的开发力度最强,Linux 或许次之,而 Mac 平台,是不是亲妈还两说呢……既然这样,我觉得 Safari 作为苹果公司的产品,肯定应该侧重于 Mac 平台,那么它的内存管理应该非常出色吧。

打开了 Safari 没一会,我才意识到“天下乌鸦一般黑”。看来只要是浏览器,就都有内存管理方面的问题。Safari 在某些方面甚至还不如 Firefox。有些问题,我不知道苹果公司是怎么想的,相当的诡异。

比如说,Safari 一般会占用两个进程,一个是 Safari 自身,另一个是 Safari Web Content。Safari 进程占内存 50M 至 100M 之间,是 Safari 的主进程;Safari Web Content 占多少内存看你打开了多少网页,它是 Safari 占用内存的大户,在我这里常常上 600M。我估计双进程的作用是防止 Safari 因为网页内容而崩溃,当 Safari 解析一个网页发生了系统错误时,崩溃的是 Safari Web Content 进程,然后 Safari 进程会重启 Safari Web Content,页面会被重新载入。

问题就在这里,据我的观察,Safari 似乎有一种什么策略,每到固定的时间,会重新载入 Safari Web Content 进程,这样导致页面会被重新载入。又一次我在一个视频网站打开了一个视频,让他缓冲完毕后准备上床上去躺着看视频,结果等我躺下后这个页面开始重新载入,我之前缓冲的内容也全都丢失了,真让我大骂怎么会有这么弱智的策略。

除了这个问题,Safari 还有一些界面上的问题让我觉得非常难用,所以基于这两点问题,我昨天只好把浏览器又换回了 Firefox。

换回来之后其实跟 Safari 还是一个德行,经常我只是点了一下网页中的文本框,我的鼠标指针就会变成小球转上一会,Activity Monitor 里的 Firefox 后面的 (not responding) 也出现了不止一次了,而且频率还特别的高,搞得我经常有砸电脑的冲动。

我想,也许 2G 的内存已经没法应付 2012 年的日常生活了么?记得我家里的第一台台式机的内存只有 16M,我在家里还可以勉强的运行 Windows 97 + GoSuRF 来上网。那时候家里还是用的 56K 调制解调器拨号上网,速度非常慢,我也不敢开太多的标签页,也许这样子让我觉得其实操纵起来还挺流畅的。2008 年 4 月 1 日我买这台 MacBook 的时候,2G 内存算是主流配置了,或许比主流还稍微的高一点。那时候用这台机器来上网绝对没有今天这样那样的问题。那时候操作系统还是 Leopard,Safari 的版本好像还是 3,Firefox 到了 6 月份才发布版本 3,现在 Firefox 的版本已经窜到 10 了,结果反而我的机器带它有点吃力了。

前一阵子我知道了 Mac 有一个 purge 命令,可以清除 inactive 内存。Mac 下的程序在推出后并没有马上清空内存,这些数据就呆在 inactive 内存里,当你重新启动这个程序的时候,这个机制会让程序的启动变快。而常常这块内存被占用着并不是我们所希望的,于是可以用这个 purge 命令把这块内存给释放了。我知道了这个命令之后,发现我明显用这条命令的次数增多了。

我在 2008 年 4 月 1 日正式开始使用 Mac 之前,我还用了几个月的 Linux。虽说当时我觉得 Ubuntu 用一阵子后慢的跟蜗牛似的,但后来我用了 Gentoo 后就感觉速度像飞一样了。再加上我用的桌面管理器是 FVWM,占用资源非常低,我印象里那时候我跑 Firefox 从来没有遇到过这么卡的情况,也许 Mac 的内存管理机制有一定的问题?

几个月前我跟张昊聊天的时候,谈到他目前使用的电脑。他的 MacBook Pro 的内存好像就不小,然后他把硬盘换成了 SSD,据说速度飞快。看来我只好期待我的下一部电脑了。

《能不能给我一个靠谱点的浏览器啊》有5条评论

  1. 我也遇到过相同的问题,电脑非常老了,很久以前的MacBookG4,CPU的频率只有1.5,内存1.5GHZ,以前也非常卡,无论是safari还是firefox(感谢,居然有可以在PowerPC上的版本,很旧3.8),然后后来我调整了下,安装屏蔽flash的插件,flash对CPU占用非常高,我仔细观察了内存一般开6+网页的情况下内存占用500M左右,没有flash的话感觉非常流畅,至于cache的问题,我的硬盘转数5200,并且很旧了,所以用了ramdisk。400M的ramdisk后我的内存还空闲很多,将很多cache都加入到ramdisk中包括safari firefox emacs等等,然后,整个世界都清净了!体会到什么叫飞一般的感觉相对于以前来说。希望对你有所帮助。

    回复
  2. 屏蔽Flash是个好办法,我自己在chrome和safari之间切换着用,我本子是4G+120G SSD, 自己给你的本子加一条内存吧,不贵。

    回复
    • 我遇到的问题不是 flash 的问题。Flash 好说,如果觉得太卡了可以从 Activity Monitor 里把 flash 插件的进程给杀掉,这样就都解决了。我遇到的问题,我估计跟 javascript 有很大的关系。我昨天发生这种系统卡死的情况是我在浏览 Google Groups 的时候发生的,跟 Google Groups 的 AJAX 实现有很大关系。

      回复
  3. 啊好像本子很老了,不能加了,不是内存的瓶颈,而是U的瓶颈,似乎能换的那个公司也被苹果给告翻了,所以现在就这样吧,你那个配置不应该会卡的,起码得健步如飞啊

    回复

发表评论

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据