关于浏览器内存占用的一点思考_流星网络收藏阁!_百度空间
在论坛里面混了好久了,突然发现一篇主题都没发表过,都只是回帖,于是决定贡献一点力量。
最近看论坛,发现很多用户都在关注内存问题,不少用户觉得内存占用比较大,就这个问题,我想以个人观点发表一些看法,当然也希望大家看完我的文字之后,对内存这个东西有个新的理解和看法。
先讲点基本的科普知识,以windows为例,操作系统里面运行着很多进程,每个进程都需要消耗一定的内存用来存放自己的数据,浏览器也不例外。但是内存总数是固定的,那么一旦进程所需要的总内存超出机器安装的物理内存怎么办呢?操作系统很聪明,它会把一些不常用的内存放到硬盘上(想了解更多细节的,可以去搜一下LRU算法),这样可以把内存腾出来给那些处于活动状态的程序。当那些当初被临时放到硬盘的内存数据需要再次被使用时,操作系统会把它们取出来,重新放到内存中去。这个过程就是我们常说的“换页(page swap)”操作。换页操作是有很大的额外开销的,毕竟硬盘速度比内存要慢很多。
那么我们平常在任务管理器所看到的“内存”是什么呢?其实那个数值的含义是“一个进程真实消耗的内存大小 减去 被转移到硬盘上的内存大小”,你可以简单理解为“假的内存占用”。也就是说,这个数字越小并不能说明一个软件越省内存,有可能是这个软件在“搞鬼”:它把自己的内存“强制”放到硬盘上(windows有一个api叫SetProcessWorkingSetSize,可以强制把内存放到硬盘上)。这里推荐大家关注一个叫Private Bytes的指标,这个指标才能真正反映一个进程所消耗的内存数。注意,xp下面的任务管理器是无法看到这个指标的,大家可以去下载process explorer,就能看到了。
上面说的可能太深奥,下面我们说点简单的,就说浏览器占内存这个事情吧。论坛上不少朋友都说浏览器占内存大,说什么开了5个页面就占了200M之类的话。那么你也许一直关注的就是我上面说的那个“假”的内存,如果有可能,不妨关注一下private bytes。比如对比一下傲游或者tw,甚至是ie也可以,开同样的标签,做同样的动作,看看大家的private bytes是否一样。当然,我举这个例子,显然他们的private bytes应该是相差无几(差个几M不是关键问题)。此时你可以再关注一下“假”内存,如果有某个浏览器的这个“假”内存数字很小,说明这个浏览器在“有意掩饰”一些东西,当然出于什么目的我们就不知道了。
有些朋友可能会担心,说浏览器会不会把整个操作系统的内存全吃满。我可以放心地告诉你,操作系统的设计{jd1}比你想的要聪明得多。假设你有512M的内存,但是你开了很多网页,这些网页要消耗1G的内存。此时操作系统会自动把多出的那些内存转移到硬盘,而且在一般情况下,操作系统会很聪明地选择那些你长时间没有阅读的页面(因为采用多标签,所以一般只能看到一个页面)放入硬盘。这个时候,你通过任务管理器就会看到,这个浏览器也许只占用了300M的内存,但是其实它有700M的内存被临时放到了硬盘上。但是如果你用process explorer,就会看到,这个软件的private byte是1G,不会随着窗口的显示和隐藏而发生改变。
从操作系统的设计角度来看,数据在内存和硬盘之间的转移应该属于操作系统的职责,一个进程不应当越俎代庖。如果纯为了任务管理器好看,纯为了一些无聊的内存评测,那么我们xx可以把内存全都塞到硬盘上,你甚至可以看到浏览器只占1M的内存,但是这样用起来就会特别卡,因为每次需要访问数据时,都要从硬盘中现取,那速度自然可想而知了。有些朋友可能担心,说我开着浏览器的时候还要做别的事情,不能让浏览器把内存都吃掉,那么从这个角度考虑,就更应该把内存的管理权交给操作系统了,因为只有操作系统才知道你这个时候在做什么,操作系统会根据你当前的行为来决定内存的分配策略。而相反地,搜狗浏览器的开发人员并不知道你会做什么,极端一点说,如果搜狗浏览器强制“不许”把内存放到硬盘,那么有些用户就会说“搜狗浏览器好流畅啊,真爽”,但是另外一些用户就会说“搜狗真烂,一开搜狗,其他软件都巨卡”;相反地,如果搜狗浏览器强制把所有内存都放到硬盘,那么一些用户就会说“搜狗真省内存,一点也不影响其他软件运行”,但是另外一些用户就会说“搜狗太他妈卡了,根本没法用”。
我个人的观点是,搜狗以后可以推出多种模式供大家选择,比如有些用户喜欢关注“假”内存这个数字,那么就可以把内存全部交换到硬盘,以满足这些用户的一些癖好;而对于大多数普通用户,目前这样子应该说是{zj0}的状态(即把内存的管理权xx交给操作系统掌管)。
{zh1}请各位喷子注意,我的观点仅供大家参考,但是如果你想在原理上————注意是“原理”上————喷我,那么我建议你先做一些功课再来喷,比如学学基本的操作系统原理,读读linux kernel源码,改改wrk什么的,以免你的水平比我低太多。
欢迎大家深入交流!
郑重声明:资讯 【关于浏览器内存占用的一点思考_流星网络收藏阁!_百度空间】由 发布,版权归原作者及其所在单位,其原创性以及文中陈述文字和内容未经(企业库qiyeku.com)证实,请读者仅作参考,并请自行核实相关内容。若本文有侵犯到您的版权, 请你提供相关证明及申请并与我们联系(qiyeku # qq.com)或【
在线投诉
】,我们审核后将会尽快处理。
——
相关资讯
——
GBJ5010-ASEMI电源控制柜专用GBJ5010
2023/10/16
童子命中的地童是扫地童吗?一尘师傅告诉你看我如何化解我的童子命
2020/9/12
《超级美味》推荐谷田有蛙:上了电视的品牌,你还有什么理由不相信_谷田有蛙代理
2019/5/11
无线遥控千斤顶生产厂家_遥控电动千斤顶供应商
2018/2/14
北京奢华不锈钢屏风_北京批发不锈钢屏风-宏洋不锈钢(优质商家)-汕尾不锈钢的屏风厂家_汕尾镜面不锈钢花格
2019/5/11
艳兰牌油渍净_油渍净全国火热加盟中
2018/2/14
q345B低合金H型钢现货-q345B低合金H型钢报价
2017/1/8
郑州xx肺癌好的医院
2015/10/27
螺旋焊管的执行尺度的介绍
2010/1/23
引用正确的饮食组合食谱
2010/2/3
看得老爷们俺都哭了,大家分享一下,好好孝敬父母!_山姆译社——— Sam ...
2010/5/6
基金网站导航- 中资银行- dips - 和讯博客
2010/7/3
郑州万通汽修学校开设特色短期班_汽车保养_中国汽车网
2010/7/21
飞腾创艺5.0:体验图文一体化的处理之道- 武汉广告设计印刷网
2010/8/1
怎样减肚子两侧的肉
2015/3/21
优惠的瓷砖胶哪里有_南宁瓷砖胶
1900/1/1
江苏新海电厂2×1000MW机组辅机设备招标公告-国家招标中心_ 国家招标 ...
2010/7/8