内存、maxthon,及其他

该死的msn space,如果存的时候出了错误,就再也找不回来了。

最近研究了一下关于内存和performance方面的一点东西,发现maxthon这个很popular的浏览器的一个有趣的现象。先是说说windows task manager的那些terminology。
 
Mem Usage = Working Set = 这个程序在物理内存里占用的大小,大概等于linux的RSS
VM Size = Virtual Memory Size = Private Bytes = 这个程序申请的内存大小,可能在内存里,也可能在硬盘上。
还有一个Virutual Size,是运行这个程序总共需要的内存大小。
 
那么Maxthon这个浏览器,他的Mem Usage总是很小,所以很多人以为这个浏览器真的占用内存比较小,不过仔细观察就会发现,他的Mem Usage总是很快的涨,到20多M,就快速的下跌一次。而且,他的page faults总是很快的增长,开不到一个小时就超过了使用率最高的explorer,成为系统第一个高的page faults。这个说明它为了让自己在task manager里显示占用的内存比较小,每过一段时间就主动的把内存里面的东西都swap出去,但是由于浏览器还在运行,所以操作系统就疯狂的产生page fault,再从硬盘读入被换出的页面,这个感觉不是很厚道。。。难怪我的笔记本硬盘没事总是嘎卡两声。。。

于是又比较了一下firefox, maxthon和ie。结果如下:(内存都是K为单位)

 

Page Faults Private Bytes Virtual Size Working Set User objects GDI objects Threads
刚启动
Firefox 4850 8536 55948 17008 37 68 6
maxthon 8485 9808 101272 4948 250 347 12
IE 4616 7948 82952 16332 117 184 7
5分钟后,打开news.sina.com.cn
Firefox 9419 17520 83176 25408 73 172 7
maxthon 27974 35240 149552 17448 300 426 18
IE 15509 38792 137204 49380 166 280 17

 

看起来maxthon/ie占用的virtual size和private bytes都比较大,而working set maxthon最小是以大量的page fault为代价的,嗯,firefox表现还不错,除了不能在msnspace发信以外,没太多的缺点了。。1.5的确快了不少,而且,对新的web标准支持很好,比如。。哈哈,开始鼓吹firefox了。。。不过对ie的数据有个不公平的地方是,其他两个都有adblocker,block了不少flash和图片。。。

 

不知道其他一些浏览器如何,比如opera,或者,safari?

《内存、maxthon,及其他》有5个想法

  1. Mem Usage = Working Set = 这个程序在物理内存里占用的大小,大概等于linux的RSS
    VM Size = Virtual Memory Size = Private Bytes = 这个程序申请的内存大小,可能在内存里,也可能在硬盘上。
    那为什么 Mem Usage 总是大于 VM Size?

发表评论

电子邮件地址不会被公开。 必填项已用*标注