重华部落格

内存的优化问题

现在很多优化软件都有所谓的内存优化功能,甚至于某些软件就是为了内存的优化而开发,收费的也不在少数,但是,我们真的需要所谓的内存优化吗?

以Windows 7来说,下面是微软官方推荐的配置:

没错,1 GB内存就可以完美的运行Windows 7这个现代的操作系统,而且从实际的使用情况来讲,运行Windows 7的配置要求,远远低于这个推荐值。

但是,我们即使是安装了4 GB的内存,有人觉得仍然不够,因为他们发现,即使有了4 GB的内存,在任务管理器中有时候显示依然是占用率比较高。

实际上,现代操作系统的内存管理机制非常优秀。那被用掉的3GB内存并不是被浪费了。相反,计算机使用内存来缓存数据来加快访问速度。它将浏览器访问过的页面、你刚刚打开过的应用程序、以及其他你可能很快会再次用到的数据都保留在内存里。这样,在你再次访问这些东西时,计算机就没有必要在硬盘上寻找它们——它只需要从内存中加载它们就行。

内存优化软件一般都使用以下二种方法中的一种来进行工作:

1. 它们会调用EmptyWorkingSet这个Windows API函数,强制正在运行的程序把它们正在使用的内存写入Windows页面文件。

2. 它们迅速为自己分配大量的内存,强制Windows丢弃缓存数据,并把其他程序的数据写入页面文件。然后它们再释放刚刚分配的内存,让它们空出来。

这些方法的确可以降低内存使用量,让它们空闲出来。但是,这样只会让事情变得更慢——现在,你要用的软件必须从硬盘上的页面文件读取它的数据,这会花费更长的时间。内存中所有的缓存也已经被丢弃,在你再次需要那些数据时,Windows只有重新从硬盘中读取它们。

所以,使用内存优化软件是毫无意义的,只会使你的系统运行变得更慢。

如果你的内存足够大,需不需要关闭虚拟内存功能呢?

微软官方明确表示:

增加大小通常不需要重新启动更改就能生效,但是如果减小大小,则需要重新启动计算机更改才能生效。我们建议您不要禁用或删除页面文件。

当你的内存不够时正确的做法是:

1.关闭不需要打开的程序和自动启动的程序;

2.偶尔内存不够,可以增大虚拟内存;

3.如果长期内存不够,那么只能增加物理内存的大小。