查看: 16824|回复: 17

[其他] 笔记本应该装多大内存?浅谈物理内存尺寸对性能的影响

[复制链接]

该用户从未签到

发表于 2009-10-18 02:22 | 显示全部楼层 |阅读模式
都是一些基础科普知识,高端玩家就不必看了,不过欢迎指正错误。

本友会首发,转载盗用请注明出处。

在现今的电脑存储架构体系里面,从高级到低级主要有CPU寄存器、CPU一二三级缓存、内存、硬盘。越高级的越快,但是造价也越高昂,所以通常尺寸也越小。

0.png

就今天来说,在i7移动处理器上市前,主流的笔记本大概有如下存储配置:

CPU二级缓存:尺寸3MB(P8000系列),速度大约在15GB/s,延迟6纳秒;

内存:尺寸4GB(DDR2对称双通道),速度大约在5GB/s,延迟90纳秒;

硬盘:尺寸320GB(7200转机械盘),速度大约在60MB/s,延迟15毫秒(相当于15000000纳秒)。

cachemem.png

HDTune_Random_Access_Hitachi_HTS722020K9SA00.png

速度这个概念不用说大家都知道,当然是越快越好了,反映了在顺序读写过程中单位时间的数据传输量。

延迟(latency)这个概念,是指计算机从“发出指令要访问某个区块的特定数据”开始,到“开始接收该区块的数据”为止,这中间的时间间隙,也被称为“响应时间”或者“访问延迟”。

对于每一次线性读写而言,所需总时间 = 访问延迟 + 数据量 / 速度

但是现实中更普遍的情况是,想要访问的数据并不在连续的区块内,这就导致了要发生“重定向”这种事件,每次“重定向”都会消耗一次“访问延迟”的时间。

对于随机读写而言,所需总时间 = 访问延迟 * 碎片数目 + 数据量 / 速度

很显然,延迟越小的存储介质越快,因为越有利于快速的定位数据。(数学好的读者应该明白为什么磁盘碎片对于机械硬盘性能影响这么严重了,也应该明白为什么现今电脑的性能瓶颈是硬盘。)

通常来说计算机用得到的数据是很多的,不可能都存放在最快的存储介质里面,只好存在硬盘上。比如说一个魔兽世界有15GB大,不可能全部放进4GB的内存里面,更不可能全部放进3MB的CPU二级缓存里面。

计算机程序在运行的时候,需要访问数据。如果这些数据区块不在CPU寄存器中,系统便会在存储架构体系中从高级到低级依次查找:如果CPU缓存里面没有,就看内存;如果内存里面没有,就看硬盘,直到被找到为止。当硬盘上某些区块的数据需要被访问时,就会被读取进入CPU的寄存器,执行运算。数据区块会从硬盘被复制到硬盘的缓存,然后到内存,然后到CPU缓存,最后到CPU寄存器。某些数据所在的区块会被非常频繁的访问到,这样的数据区块就会尽可能的被驻留在更高级别的存储介质中,以保证能够更快速的被访问到,从而最大化程序运行的速度。把“被频繁访问的数据区块”尽可能的保留在更高级别的存储介质中,而“被访问不那么频繁”的数据则被停留在更低级别的存储介质中,这样的操作就叫做“缓存(cache)”或者“缓冲(buffer)”。这个缓存操作是怎么实现的呢?最符合直觉的办法就是:(1)把最近被访问过的数据区块保留在更高级别的存储介质中,比如说经典的LRU算法;(2)把那些被访问最频繁的数据区块保留在更高级别的存储介质中,比如说Windows Vista和Windows 7的Superfetch技术,会根据用户的使用习惯,把使用最频繁的程序预先从硬盘载入空闲内存,这样当用户启动程序的时候,硬盘就不用忙碌了。

很显然,缓存(或者叫“缓冲区”)的尺寸越大,缓存能够装下的数据区块也就越多,那么CPU想要找的数据区块能够出现在缓存中的概率也就越大,这样的系统运行程序也就越流畅。

我们已经知道,内存的性能和硬盘的性能差别是最为巨大的,硬盘是最严重瓶颈,所以如果不愿意换固态盘的话,提升内存尺寸将得到最为明显的性能升级。

那么,是不是内存越大性能越高呢?系统性能是否和内存尺寸成线性正比关系呢?答案是否定的。

用现今的主流操作系统来说,给笔记本装好驱动和日常应用程序:

Windows XP 32位,开机占用约300MB内存,所以能流畅开机至少需要512MB内存,流畅上网看网页和用Word打字至少需要768MB内存,流畅单开玩魔兽世界这种游戏至少需要1.5GB内存,流畅运行多个虚拟机则需要更多内存。但是32位Windows民用系统默认是不会开启PAE支持的,最多只能识别3GB物理内存,所以安装最多3GB物理内存为宜。(考虑到对称双通道对集成显卡的性能影响较大,以及显卡可以使用一部分内存做共享显存,965芯片组或更晚的机型安装4GB物理内存亦可。)

Windows Vista 32位和Windows 7 32位,开机占用约1GB内存,所以能流畅开机至少需要1.5GB内存,流畅上网看网页和用Word打字至少需要1.5GB内存,流畅单开玩魔兽世界这种游戏至少需要2GB内存。32位Vista和32位Windows 7同样只能识别最多3GB物理内存。

Windows 7 64位,内存消耗和Windows Vista 32位大致相同,区别是64位Windows能识别超过4GB的物理内存。

那么是不是32位系统就安装3GB物理内存、64位系统就安装主板所支持的最大内存最好呢?答案也是否定的。XP对大内存的利用不够充分。

首先要再介绍一下这个叫做Superfetch的预读技术。

Superfetch是微软从Windows Vista开始引入的,其工作原理就是,(趁计算机空闲时)把用户最经常访问的文件读取到空闲的内存中。这个技术的好处在于能够更充分的利用大内存带来的优势:内存越大,用户启动的程序已经被装载到内存中了的概率也就越大,系统总体性能期望值也就越高。具体应该把哪些文件预读到内存中呢?这当然是系统根据统计数据分析用户平时最喜欢运行哪些程序得出的结论了。比如说用户用的最多的程序是Firefox和Photoshop,其次是魔兽世界,但平时空闲内存只有1GB,那么系统就会把Firefox和Photoshop这两个程序的文件预读取到内存中。用户双击Firefox和Photoshop的图标启动程序时,硬盘就无需忙碌了;但是用户双击魔兽世界的图标启动程序时,硬盘还得忙个不停。但如果平时空闲内存有3GB,那么系统就会把魔兽世界也一同预读取到内存中,不论用户是启动Firefox、Photoshop还是魔兽世界,硬盘都无需忙碌了。

以下两幅图是Superfetch技术如何利用大内存的:

系统刚刚重装好,Superfetch还不能判断用户常用哪些程序,所以无法进行预读取,空闲内存5.7GB浪费:
1.png

系统使用了一段时间,Superfetch知道用户常用哪些程序,把空闲的5.7GB内存全部用于预读取用户下一步可能会启动的程序:
3.png

所以,如果是Windows Vista或者Windows 7的话,越大的内存就能让Superfetch技术预读取越多的程序,应当尽可能安装更大的物理内存(32位系统最多3GB,64位系统看主板支持多大)。如果是Windows XP的话,则应当根据平时运行程序最多需要用到多少内存来决定。

另外,32位Windows系统亦可以通过开启PAE的方法来识别超过3GB的物理内存。第一种办法就是安装32位的Windows Server 2003或者Windows Server 2008,这些系统默认就是支持PAE的。不过前者不支持Superfetch技术,内存的安装建议和32位Windows XP相同;后者支持Superfetch技术,内存的安装建议和32位Windows Vista相同。第二种办法就是破解32位Windows XP或32位Windows Vista的内核文件,用WinHex之类的十六进制编辑器改写几个字节。具体各个版本的Windows修改办法在网上很容易搜索到,这里就不详述了。

[ 本帖最后由 snipersung 于 2009-10-18 03:38 编辑 ]

评分

参与人数 1本币 +1 收起 理由
gato_shin + 1 容量尺寸搞不清楚也好意思自稱會中文?

查看全部评分

该用户从未签到

发表于 2009-10-18 11:40 | 显示全部楼层
好文

不过我总觉得64位系统比32位系统更消耗系统资源

该用户从未签到

发表于 2009-10-18 17:17 | 显示全部楼层
32位vista能实际用3.5G,所以如果不差钱的话,还是配4G吧

该用户从未签到

发表于 2009-10-18 17:30 | 显示全部楼层
还在V 32bit+4G+ramdisk

该用户从未签到

发表于 2009-10-18 19:43 | 显示全部楼层
学习了

该用户从未签到

发表于 2009-10-18 22:28 | 显示全部楼层
不错,学习了感谢楼主 !

该用户从未签到

发表于 2009-10-19 01:04 | 显示全部楼层

回复 2楼 的帖子

設計問題

该用户从未签到

发表于 2009-10-19 16:49 | 显示全部楼层
技术贴学习中~~

评分

参与人数 1本币 +5 收起 理由
gato_shin + 5 我很擔心你看了這帖子連中文都不會了

查看全部评分

  • TA的每日心情
    开心
    2019-2-27 12:06
  • 发表于 2009-11-3 11:34 | 显示全部楼层
    来看看··

    该用户从未签到

    发表于 2009-11-4 18:46 | 显示全部楼层
    用3G,没道理。

    该用户从未签到

    发表于 2009-11-5 23:36 | 显示全部楼层
    gato_shin 本币        +5 我很擔心你看了這帖子連中文都不會了 2009-10-19 16:19能不能别老tm的发繁体,还嘲笑别人学不会中文
    不管你在台湾还是哪,本友会是中国it论坛,请尊重大部分人的阅读习惯,请学会发简体字。







    该用户从未签到

    发表于 2009-11-6 00:51 | 显示全部楼层

    回复 11楼 的帖子

    我也是用正體字
    而且,絕不會用簡體字
    我不認為正體字和尊重阅读习惯有關係

    该用户从未签到

     楼主| 发表于 2009-11-6 05:21 | 显示全部楼层
    原帖由 system_12 于 2009-11-5 23:36 发表
    gato_shin 本币        +5 我很擔心你看了這帖子連中文都不會了 2009-10-19 16:19能不能别老发繁体,还嘲笑别人学不会中文
    不管你在台湾还是哪,本友会是中国it论坛,请尊重大部分人的阅读习惯,请学会发简体字。


    ...

    算了呵呵,别中了他的圈套给扣分了~他不能理解用“尺寸”做标题党的妙处~或者仅仅是故意挑刺而已啦,没什么。文章理论没问题就行了,至于是否还继续嘲笑8G用不着那就是他自己的事情了。

    该用户从未签到

    发表于 2009-11-6 08:29 | 显示全部楼层
    原帖由 system_12 于 6/11/2009 01:36 发表
    全国政协委员宋祖英等联名提议:小学应增加繁体字教育

      简体化汉字已使用了几十年,在今年的全国两会上,郁钧剑、宋祖英、黄宏、关牧村等21位文艺界的政协委员联名递交了一份关于《小学增设繁体字教育的提案》,建议在小学开始设置繁体字教育,将中国文化的根传承下去。

      委员们在提案中表示,繁体字是中国文化的根,知晓繁体字,就是知晓中国汉字的由来、知晓中国文化的由来。而汉字的简化是一种进步的表现,但同时也造成了中国文化的一种隔断。

      提案建议国家应该从小学阶段开始设置繁体字教育,比如将繁体字设置成必修课,或在讲授简体字的同时也教繁体字。今后大家即便不使用,也要知晓,因为这毕竟是中国文化,于国家的统一、民族的兴旺都有好处。(记者 游星宇 严艳 朱丰俊 寇金明)

    順便樓上的,你哪只眼睛看到我說8G不需要了?飯可以亂吃,話不可以亂說。

    喲,原來你還知道那個度量不是“尺寸”啊,原來標題内容一致也可以叫標題黨啊(我沒看清文内的度量是“容量”還是“尺寸”,真的)。原來這貼是故意用錯誤的名詞發的偽技術帖啊,這簡直就是誤導不明真相的群衆嘛,要不要投訴看看呢?

    [ 本帖最后由 gato_shin 于 2009-11-6 10:33 编辑 ]

    该用户从未签到

     楼主| 发表于 2009-11-6 08:39 | 显示全部楼层
    原帖由 gato_shin 于 2009-11-6 08:29 发表


    順便樓上的,你哪只眼睛看到我說8G不需要了?飯可以亂吃,話不可以亂說。

    喲,原來你還知道那個度量不是“尺寸”啊,原來標題内容一致也可以叫標題黨啊(我沒看清文内的度量是“容量”還是“尺寸”,真的)。 ...


    看你这得瑟的,连用这个词的妙处都理解不了,还在这号称自己对中国文化理解多深刻似的,你咋不说苹果区的技术贴非要绕弯弯呢呵呵~倒是我可以给你存一个专辑,投诉你是如何的喜欢在别人帖子里面捣乱~不过你这次这个回复就算了,太小孩子气了。

    该用户从未签到

    发表于 2009-11-6 08:44 | 显示全部楼层
    原帖由 snipersung 于 6/11/2009 10:39 发表


    看你这得瑟的,连用这个词的妙处都理解不了,还在这号称自己对中国文化理解多深刻似的,你咋不说苹果区的技术贴非要绕弯弯呢呵呵~倒是我可以给你存一个专辑,投诉你是如何的喜欢在别人帖子里面捣乱~不过你这次 ...

    原來您是已作古千年的唐宋名家啊,失敬失敬,不才確實沒那麽高境界。所以請如此高境界的您哪來回哪去吧,要IT產品可以託夢給我燒給你,別在陽間惹活人不痛快了。

    该用户从未签到

    发表于 2011-12-25 14:21 | 显示全部楼层
    很好的文章。学习了,不过如果内存很便宜还是多多益善。

    该用户从未签到

    发表于 2011-12-29 18:42 | 显示全部楼层
    怎样挑选笔记本的保护膜呢
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    意见反馈|Archiver|手机版|小黑屋|本友会 ( 北京市公安局海淀分局网监中心备案编号:11010802020118  

    GMT+8, 2020-2-19 19:05 , Processed in 0.106081 second(s), 19 queries , Memcache On.

    Powered by Discuz! X3.2

    © 2001-2013 Comsenz Inc.

    快速回复 返回顶部 返回列表