KKDEV - Shelikhoo 's Personal Blog


Be chosen to change the world.


$内存其实并不用清理

现在,很多人的电脑上都有一个小泡泡,实时的告诉自己到底还有多少内存。但是你真的了解内存么?

电脑中有多级存储机制,一般的说,读取的速度越快,存储的容量越小。CPU寄存器和缓存,内存,硬盘,(其实还有),就是电脑的多级存储得成员。其中,内存和之前的存储介质中存储的内容在电脑关闭后会自动消失(可以这样认为),因此我们大部分的数据都保存在硬盘之上。

但是硬盘的速度并不快,为了保证程序的流畅运行,电脑会将程序在近期需要的数据加载到内存,程序在读取文件内容时可以直接到内存,而不是硬盘读取。因此提高了电脑的运行速度和减少可响应时间。

内存,只要电脑一启动完毕,就会被系统自动的加载数据,比如程序可能会用到的文件,而程序,也可以向系统申请内存。结果是,在正常运行的现代操作系统上,闲置的内存非常少。

内存中预加载的文件并不会和程序抢占内存,程序要求内存时,操作系统可以直接将已经预加载文件的内存交给程序,尽管预加载的文件没有用上但是实际上也没有损失。

因此,内存对于操作系统是一个不用白不用,用了也白用的地方。

但是,当运行的程序过多时,也会出现内存确实不够用的情况,这时就会将程序的不常用内存放到交换分区(页面文件,虚拟内存)中来防止系统因为内存不足而崩溃。但是因为交换分区在硬盘,访问速度比内存差很多,在可能的情况下,一般不将程序的数据放在硬盘中。

好,到最后,为什么内存不用清理呢?

清理内存是先让系统给自己分配很多内存(文件白预加载了),将其他的程序都挤到交换分区(这些程序的运行速度变慢了),之后释放掉自己多请求的内存,让内存闲置下来。

不久,随着其他程序又运行,毕竟是需要经常访问的内容,程序数据会返回内存,直到下一次内存清理。

内存这种东西,空着也是空着,不如多用用好。当遇到因为内存不足而导致的电脑速度慢时,应该减少运行的程序或增加内存的大小,而不是使用软件来降低内存利用率。