albertfu 发表于 2011-1-17 12:00

Win下哪款浏览器对大量标签(200+)支持较好?

最近更新过Firefox,感觉自从多出来那个plugin-container进程后内存占用和崩溃概率都变大了。。。
现在一般250个标签左右就会崩溃,此时firefox和plugin-container加起来占1.9G左右内存。崩溃后有很大概率不能恢复全部标签,这是最恼人的。。。
更新之前其实开这么多的时候不太会崩溃,但已经卡得基本没法用了

求问哪款浏览器能够更好支持大量标签浏览?主要考察资源占用,稳定性,不同标签间切换方便程度。

个人测试:
IE8基本枪毙,资源占用大,超易崩溃,崩溃后基本不能成功恢复会话,标签分组功能一塌糊涂。Opera10致命缺点:开多了压根不知道哪个是哪个啊。。。

不知chrome,safari等表现如何,静候各位推荐。

fmy 发表于 2011-1-17 12:12

OP不是有标签分组么?

a4840639 发表于 2011-1-17 12:13

FF用了会话管理器这个插件没有,我内存只有4G,平时也就开几十个TAB,用这个崩溃什么的根本无压力

炎之女皇 发表于 2011-1-17 12:17

宅男的爱 发表于 2011-1-17 12:41

Chrome会告诉你:内存有多大,舞台就有多大……

ov_efly 发表于 2011-1-17 12:47

升到12G内存
用CHROME 崩溃不过是标签的事情

百猪夜行 发表于 2011-1-17 12:49

要说大量标签,真没有比Firefox还好的了……

野宮匠 发表于 2011-1-17 12:52

chrome开50个没压力,不过我最多就开50个。。。。。

normanzb 发表于 2011-1-17 13:39

http://markup.io/v/ztdrdszf384d

精钢魔像 发表于 2011-1-17 14:07

chrome 一个标签页就是一个进程,内存不够后使用虚拟内存,理论上可以开到硬盘放不下为止

trentswd 发表于 2011-1-17 14:11

把plugin-container直接中止掉,我就是这么干的
多半是flash的plugin

chrome占用内存比Firefox多,而且标签一多连网页的名字都看不见了,非常sb

不过我最多也就开几十个标签,200个恐怕什么浏览器都没用,装个4G内存再说吧……
引用第9楼精钢魔像于2011-01-17 14:07发表的:
chrome 一个标签页就是一个进程,内存不够后使用虚拟内存,理论上可以开到硬盘放不下为止
images/back.gif

现在的浏览器都是一个标签一个进程,Firefox ,ie都是,chrome里面还可以看这些的内存占用
另外所有的浏览器都会用虚拟内存,不过一用虚拟内存就会卡的要死,尤其是磁盘性能差的电脑上。再说你真的以为虚拟内存可以无限用吗……

鸡蛋灌饼 发表于 2011-1-17 14:32

引用第10楼trentswd于2011-01-17 14:11发表的  :
把plugin-container直接中止掉,我就是这么干的
多半是flash的plugin

chrome占用内存比Firefox多,而且标签一多连网页的名字都看不见了,非常sb

....... images/back.gif

200个的话,内存越大越好,浏览器自己编译或者用别人编译好的,总之一定要x64版的
引用第10楼trentswd于2011-01-17 14:11发表的  :


现在的浏览器都是一个标签一个进程,Firefox ,ie都是,chrome里面还可以看这些的内存占用
另外所有的浏览器都会用虚拟内存,不过一用虚拟内存就会卡的要死,尤其是磁盘性能差的电脑上。再说你真的以为虚拟内存可以无限用吗…… images/back.gif

扯淡呐,一个标签一个进程的就Chrome这么设计,其他的浏览器都尽可能避免这种脑子有病的设计。
Firefox你想通过“新建窗口”(不是标签页)开两个进程都做不到。

另外先去搞清楚虚拟内存这货是什么再扯内存问题,操作系统的内存管理比你们想得复杂多了

哈德斯 发表于 2011-1-17 14:54

opera开1000个都没压力,然而找不出哪个是哪个……

iganesh 发表于 2011-1-17 15:21

Opera应援

炎之女皇 发表于 2011-1-17 15:28

trentswd 发表于 2011-1-17 15:40

引用第11楼鸡蛋灌饼于2011-01-17 14:32发表的  :

扯淡呐,一个标签一个进程的就Chrome这么设计,其他的浏览器都尽可能避免这种脑子有病的设计。
Firefox你想通过“新建窗口”(不是标签页)开两个进程都做不到。

另外先去搞清楚虚拟内存这货是什么再扯内存问题,操作系统的内存管理比你们想得复杂多了 images/back.gif

图在这
好吧我傻逼,但是ie8就是tab有独立进程
话说为啥chrome只开了一个tab就这么一大堆进程
http://hwf0tq.bay.livefilestore.com/y1pCctX1BHQz5_lMsrOTdBVenfoel534O6pwOUaB5SFo208pc10yxGP5A_y0GXBSR4qiHuHa2WmJvu-YmBHV4W4iJI_F0HZ6f_3/%E6%97%A0%E6%A0%87%E9%A2%98.jpg?psid=1
我对虚拟内存的看法还停留在《操作系统》那本书上,如果计算机飞速发展到那本书关于内存管理的部分全成了废纸的话,那就是我见识少了

hanqi7012 发表于 2011-1-17 16:28

为什么我的IE进程比IE所打开的标签要少呢……

精钢魔像 发表于 2011-1-17 16:43

ie 用的是多线程,本来也没啥,windows的设计是线程创建销毁的开销很小,更能利用cpu 的空余时间来做多任务

可问题是有些bt 喜欢几百几百的开网页,那同步数据的开销就上去了,反而不如多进程直接干掉简单

看网页也不是实时要求很高的应用,从虚拟内存交换到物理内存那点延迟我觉得可以接受

鸡蛋灌饼 发表于 2011-1-17 16:46

引用第15楼trentswd于2011-01-17 15:40发表的  :

好吧我傻逼,但是ie8就是tab有独立进程

我对虚拟内存的看法还停留在《操作系统》那本书上,如果计算机飞速发展到那本书关于内存管理的部分全成了废纸的话,那就是我见识少了 images/back.gif

IE8是混合模型,微软自己的说法是会动态调整Tabs和Process的关系,不会傻傻的一个Tab一个进程

至于虚拟内存,看过OS相关的话人都就知道这个词的真实含义和一般人的理解差太远了。
可能的话我尽可能避免用这个词以免造成误解

Castiel 发表于 2011-1-17 16:55

请用opera 11标签分组功能...

上巳希未 发表于 2011-1-17 16:58

opera标签能分组合并, 另外缩略图也不缺, 要找到还是蛮容易的吧...

米喵子 发表于 2011-1-17 18:30

Safari安定

欢迎找@othercatlee 普及每天开300个Tab

solid_snake 发表于 2011-1-17 20:27

opera无压力

★草泥马★ 发表于 2011-1-17 21:15

干什么勾当能开出200个,不怕死机?

mayokaze 发表于 2011-1-17 23:29

既然提到了本专业的来科普一下
进程是资源分配的最小单元,线程是CPU调度最小单元, 顺便说一下最近炒的很火的纤程(fiber)实际只是逻辑层面的与内核无关.
进程与线程创建与销毁的时间复杂度在5-7倍,现在主流家用PC创建销毁一个进程的开销在0.0几毫秒这个数量级,以1万个进程为例,创建销毁大约要多花1秒不到的时间(事实上即使是超高并发的服务器,这点差异也不足以成为技术选型的决定性因素)
进程创建本身的资源(ipc表项,页表项等等)也只是在几Byte到几十Byte这个数量级,1万个进程也就是几十KB到几百KB,注意这里只提操作系统创建一个进程所需的资源不包括进程所持有的资源,对于unix系的folk,现代的*nix系统在folk的处理上都是与父进程持有同一份拷贝,差异化内容才单独存储
以上数字你可以在自家电脑上用C写个最简单的一万次folk和一万次pthread_create来比较
实际上你可能会发现,高复杂度的并发任务有时候多线程甚至效率不如多进程,这个跟线程栈有关,超出内核默认的上限将会导致频繁segment fault,嘛,这个扯远了而且跟系统进程库实现有关,就此打住.
进程的优势在哪里?首先就是简单,多线程无论在编码还是调试上都比多进程要方便.对于浏览器来说最大的好处就是稳定了,当掉一个进程不会当整个浏览器.再就是网络并行的优势了,也许不久的将来浏览器本地渲染跟云渲染可以并用,用线程来做这件事显然要复杂得多.

再来说虚拟内存,的确"虚拟内存"这个名字容易引起误会,叫做页面文件或者页仓库会好理解得多.
页面文件是没法直接寻址的,当内存里面找不到当前页项的时候系统会触发一个page fault.
page fault后unix的做法是顺序从queue里面找,见1设0,见0swap出去(程序执行时每引用一个页面系统置为1).这样的话其实可以看到虚拟内存寻址的消耗并不只是swapping的消耗这么简单,这就是大多数人的误区吧,以为虚拟内存就是拿硬盘去当内存.
这就好比一个超市,货架是内存,仓库是虚拟内存,若一个超市需要频繁从仓库里面拿东西给顾客效率可想而知了.
以上还是理想的paging模型,实际的swap要更为复杂,如本楼的例子一个tab不可能只占一个页面,这就牵扯到segment和buddy system的寻址和管理,既然是科普就不多扯了.

回到本楼的问题,多tab的主要消耗其实是每个渲染后页面的内存快照(snapshot),tab之间的切换实际上就是把内存快照通过显示设备再一次输出,快照无疑是占用很多内存的,进程或是线程本身所消耗的资源相对来说可以忽略不计.而且就网页渲染这个任务来说是没什么东西需要同步的,因此对多线程同步的复杂度也没太多顾虑,进程还是线程,对于浏览器的多tab实现其实没什么明显的优劣,这也不是一个非此即彼的问题,两者共用也许是更好的办法吧,但我不认为chrome只用进程或是safari只用线程就是"脑子有病"

normanzb 发表于 2011-1-17 23:48

引用第11楼鸡蛋灌饼于2011-01-17 14:32发表的:

扯淡呐,一个标签一个进程的就Chrome这么设计,其他的浏览器都尽可能避免这种脑子有病的设计。
Firefox你想通过“新建窗口”(不是标签页)开两个进程都做不到。

另外先去搞清楚虚拟内存这货是什么再扯内存问题,操作系统的内存管理比你们想得复杂多了 images/back.gif


现在浏览器很多是多进程,至少一个 crash不会导致其他都crash,而且可寻址空间确实长多了,不会像傻逼FF,一crash就well, it is embarrassing...

kaiki_aiolos 发表于 2011-1-18 00:20

回 25楼(normanzb) 的帖子

我也觉得动不动就说“开多进程就是有病”这样的说法不妥当

首先你要去理解人家这样做的理由以及优势,再对比其缺点是不是具有普遍存在性,如果你说多进程=多耗费资源,那我只能说你用chrome还不够多。

炎之女皇 发表于 2011-1-18 01:00

雀明華 发表于 2011-1-18 01:20

Sleipnir最新版有双排标签分组 不知道稳定版出来没有

gunda5603 发表于 2011-1-18 03:01

我觉得这还得看每个标签下是什么内容吧。。。

鸡蛋灌饼 发表于 2011-1-18 16:56

引用第25楼normanzb于2011-01-17 23:48发表的:


现在浏览器很多是多进程,至少一个 crash不会导致其他都crash,而且可寻址空间确实长多了,不会像傻逼FF,一crash就well, it is embarrassing... images/back.gif

浏览器本身就不应该crash
就像操作系统不应该天天蓝屏一样

Pluto_Shi 发表于 2011-1-19 00:31

引用第14楼炎之女皇于2011-01-17 15:28发表的:


Chrome是作为操作系统而开发的, 浏览器只是个马甲, 这不算脑子有病
images/back.gif


konqueror发来贺电
页: [1]
查看完整版本: Win下哪款浏览器对大量标签(200+)支持较好?