Windows内存清理----其实是没必要的

Windows内存清理----其实是没必要的

目前,有很多清理内存的工具,如Wise Memory Optimizer、 MemoryZipperPlus、SweepRAM等,360安全卫士、腾讯电脑管家、鲁大师等等系统工具也带有清理内存的功能。这些工具主要使用Windows提供的API:EmptyWorkingSet 或SetProcessWorkingSetSize 进行内存清理。EmptyWorkingSet 强制将进程工作集中的内存尽可能多地移动到页面文件中 (Removes as many pages as possible from the working set of the specified process.)

对于现在的操作系统,并不是你内存空闲得越多,程序运行得就越快。就算内存真快耗尽,操作系统也会自动丢弃掉一部分缓存数据,同时将不频繁访问的页面从工作集中移出,暂时保存在内存中的“转换列表”中,或者进一步换出到页面文件中,完全没有理由也没有必要我们自己在不必要的时候做这些事。所以,上面实现的程序只是一个简单地展示,以便大家明白清理内存的实际原理,不建议(甚至可以说不应该)用于解决内存不足的问题。现在,基本各种内存清理工具使用的都是上面提到的方式,有的还允许设置自动清理,程序每隔一定时间自动进行清理… 当你明白了这些工具的实现原理后,你会发现,这类工具仅仅是一个骗局而已,它们只不过安慰一下那些不懂内存管理的人,不但没什么贡献,反而会使你系统变得更慢。

除了使用这种方式,有些清理工具还进行暴力清理。这类工具自身大量申请内存,快速填满你的内存,这时你的系统会被迫丢弃大量缓存文件,同时调用转换操作,将其他进程的内存空间转换到虚拟内存。之后,这类工具再突然释放所申请的大量空间,让你觉得腾出了很大的空间。使用这种暴力清理可能腾出比使用EmptyWorkingSet或SetProcessWorkingSetSize更多的内存空间,但在所谓的“清理”过程中的开销也更大,最终同样也只是让事情变得更加糟糕。也有部分清理内存工具,还会结束掉一些闲置的服务与一些进程的残留项以进一步减小内存使用量(如360安全卫士)。这种方式确实有一定的效果,能真正地腾出一定的空间。但由于可以结束的进程是有限的,而且这些进程所占内存往往不会太大,通常也不能够腾出多少内存空间,优化效果并不会明显。

综上,我个人认为,无论清理内存或者内存优化之类的工具没什么实用价值与实际意义。对于内存小的机器,它们只会更加拖慢你的系统;对于大内存的机器,就算它们有用,你也没有理由去用。所以,要解决内存不够的问题,最有效的方式就是——插内存条,插内存条,插内存条


本文来自 life_is_crazy 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/life_is_crazy/article/details/80676572?utm_source=copy

你可能感兴趣的:(windows,内存清理,计算机)