Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

内存作用是什么?大了有什么好处 #204

Open
TieMuZhen opened this issue May 12, 2022 · 0 comments
Open

内存作用是什么?大了有什么好处 #204

TieMuZhen opened this issue May 12, 2022 · 0 comments

Comments

@TieMuZhen
Copy link
Owner

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%,需要清理!”

呵呵,我无法理解电脑为了提高运行速度,辛辛苦苦把数据加载到内存里,为什么要清理掉?就好比我买了个衣柜,每次衣柜放了差不多的时候,管家来告诉你“衣柜快满了,请把衣服都拿出来吧!”,然后你一点优化,管家把衣柜里的衣服全拿出来扔地上,然后你又辛苦的一件一件往衣柜里放,放个差不多,管家告诉你“衣柜快满了,请把衣服都拿出来吧!”……宛如一个智障。

参考文献

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant