智者成衣这个就要从电脑运行的原理说起了,手机码字,所以就用通俗易懂的话简要回答了。
CPU是大脑,负责电脑的计算工作,这点你肯定知道了。但是计算的数据哪里来呢?很明显,硬盘,数据都存储在硬盘里,你玩的游戏,工作用的文件都存储在硬盘里,在需要计算的时候,会把数据从硬盘中传送给CPU进行计算,然后给你返回结果。
举个例子,硬盘里有一个文件,这个文件的内容是“计算99乘法表,1x1、2x2……”,当电脑执行这个文件的时候,会把这个文件内容告诉CPU,CPU便会进行计算,然后把结果通过输出设备展示给你。
那么这里就有一个问题,CPU的计算能力已经很高,而硬盘的读取速率却差远了,因此CPU很多时候是在等待硬盘给它传送数据,这就造成CPU闲置,极大的浪费了计算资源。
因此,我们需要一个高速存取的设备,能够尽可能的利用起CPU的计算能力,不要像硬盘一样因为过低的读取速度而造成资源浪费。而内存就是在做这部分工作。
内存的存在,使得文件的传输过程由“硬盘—CPU”变为了“硬盘—内存—CPU”,假如一个8G的内存,在完全利用的情况下,可以直接缓存8G的硬盘数据,而由于内存的高速读取速度(可以达到硬盘速度的50倍左右),CPU可以高速的从内存中拿数据来进行计算,理想情况下,电脑的运行速度可以提高约50倍。这个理想情况是指CPU计算需要的数据刚好都缓存到内存里了,计算的时候只从内存读取就可以,但是经常会有这种情况:CPU计算需要的数据没缓存到内存,而是需要从硬盘中读取。这个时候会怎样?内存会去硬盘中找到这个数据,然后缓存起来,然后交给CPU使用,这个时候由于要从硬盘中读取数据,由于硬盘极地的速度,就会造成等待,对于人直观的感受就是电脑卡了一下。
上面我只是说了大致过程,当然里面涉及的肯定要复杂的多,暂且不提,有兴趣可以自己去看下。
然后说32G内存比8G内存好在哪里,这个时候你自己其实也明白了——它可以缓存32G的数据。而32G的时候基本可以满足你所有的数据需求,也就表示在你使用电脑的过程中,几乎不用再去硬盘中读取什么数据,仅仅依靠内存便可满足CPU的计算需要,这就表示电脑在运行中始终保持着“满速”!
而如果是8G内存呢?以现在动辄几十G的游戏为例,在游戏运行的过程中,需要的数据很可能会超过8G,因此如果CPU需要的数据恰好不在内存中,那么就会造成卡顿,其实现在游戏的loading图,也就是动不动就出现“加载中”字样的时候,基本都是在缓存数据进内存,以防游戏中读取硬盘造成卡顿。
这些基本可以说明白内存大的好处了,下面我要说一嘴其他的……就是各大电脑管家自带的“内存优化”,他会告诉你“内存用了70%,需要清理!”
呵呵,我无法理解电脑为了提高运行速度,辛辛苦苦把数据加载到内存里,为什么要清理掉?就好比我买了个衣柜,每次衣柜放了差不多的时候,管家来告诉你“衣柜快满了,请把衣服都拿出来吧!”,然后你一点优化,管家把衣柜里的衣服全拿出来扔地上,然后你又辛苦的一件一件往衣柜里放,放个差不多,管家告诉你“衣柜快满了,请把衣服都拿出来吧!”……宛如一个智障。
我的内存只能算一般大吧,12G,先上图,看看内存里都有什么,Windows 7 专业版。
12G的内存,有6G用来存放Mapped File了。我们都知道内存读写速度远远高于磁盘,系统会猜测你和正在运行的程序想要使用的文件,比如文档、dll等,然后提前把这些文件读到内存里面了。等你要打开这个文件的时候,就不需要磁盘读写操作了,速度也提升了很多。
至于虚拟内存,上面也提到,物理内存不够的时候,系统会把一部分页换到磁盘上;如果物理内存中读取不到要使用的页,就会从虚拟内存中找,这个磁盘读写会减慢系统的速度。不过内存大了关闭虚拟内存也不是很必要,不太常用的页换到虚拟内存中,留出更大的物理内存来存放Mapped Files,也是能提高运行速度的。这些事情交给系统自动来管理就好了,操作系统存在的意义就是因为我们自己管理系统的资源不如操作系统管理得好。
就想像缓存是飞机,主存(平时说的内存)是高铁,硬盘是轮船。但是快的代价是贵,是运量小,所以这么一层一层的分开来,最关键的用飞机,次一点的用高铁,再不行就上轮船。虽然说不管货物多少,只要你的运输工具能装下,总是能运完的。但是如果你飞机足够多足够大,就不需要其它的了,速度当然也就跟着飞起来了。
主要还是虚拟机吃内存比较多。当然,Hyper-V(可精确设置配额)和VirtualBox这两个我平时用得比较多的都支持动态内存,实际占用多少视乎虚拟机用多少,不会都吃满。
我办公室和家里的台式机都是16GB,够用有余了。卧室里用来看番上网的ITX小电脑是8GB,实际4GB也够用了。
|