V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
A007
V2EX  ›  问与答

为什么内存优化加速软件百害而无一利

  •  
  •   A007 · 2014-04-09 09:33:16 +08:00 · 3485 次点击
    这是一个创建于 3911 天前的主题,其中的信息可能已经有所发展或是发生改变。
    许多公司都想把“内存优化器”(比如某卫士的点一点释放内存功能)作为他们的PC优化软件的一部卖点推销你。但是,这些软件往往非徒无益——它们不但不会加速你的电脑,反而会使你的电脑速度降低。

    这些程序往往利用了初级用户的无知,向他们做出提升性能的虚假承诺。事实上,你的电脑完全知道怎么去管理它的内存(RAM)。它会使用内存来提升机器的性能——没有理由让内存白白闲着着!

    你的电脑的内存跑满了?那就对了!

    内存优化软件往往利用了群众的无知。你或许会查看一下你的电脑的内存,然后发现它跑满了——例如,你又4GB的内存,然后发现有3GB都在使用中,只有1GB的剩余空间。这一定会让某些人感到惊诧——擦!你看现在的Windows多么臃肿啊!这么可怜的可用内存,还怎么指望运行其他的程序呢?

    事实上,现代操作系统很擅长与管理内存。那3GB的使用中的内存并不一定意味着浪费。相反,你的电脑用内存来缓存数据从而加速访问。无论是你在浏览器中打开的网页、你之前运行的程序或者是任何你可能再次访问的数据,你的电脑都会把它保留在你的内存里。当你再次需要这些数据的时候,你的电脑便不需要访问你的硬盘了,仅需从内存里加载文件就可以了。

    问题的关键在于没有任何理由让内存处于空闲的状态。即使是你的内存全部用完了你需要更多的内存来运行一个程序,你的电脑也能够立即丢弃这些缓存数据,从而为运行该程序腾出空间。没有任何理由让内存处于闲置中——如果它是空的,那么就是在暴殄天物。如果它跑满了,那么它很可能会帮助你加速程序启动时间以及其他任何需要访问硬盘的东西。

    我们可以看到,下面的截图中显示只有极少量的内存真正“空闲”。相当部分的内存用做了缓存,但是对于任何程序来说这些内存仍然是可用内存。

    过去,内存耗尽一般表示某处出了问题。如果你在一台电脑上运行Windows Vista操作系统,并且只有不到半GB(512MB)的内存的话,你会感觉到你的电脑时常的卡顿——它不得不时不时地访问一下硬盘,使用硬盘上的页面文件作为内存蹩脚的替代品。不过,对于大多数用户来说,现代的计算机通常都会有足够的内存。甚至一些低端的电脑发售的时候都会配有4GB的内存。除非你经常玩游戏,运行多个虚拟机或者编辑视频,不然这一配置通常来说就足足够用了。

    即使内存的问题已经困扰到了你,也没有任何理由去用内存优化软件。内存优化软件就像万灵油一样百害而无一利。

    内存优化软件如何工作

    当你使用内存优化软件的时候,你将会看到你的内存用量下降。这看上去真的是很有效的事情——毕竟你轻点按钮就把内存用量降下来了。但是,事情并不是这么简单。

    内存优化软件事实上以下面的两种方式之一工作:

    调用Windows API EmptyWorkingSet 来强制正在运行的程序将工作内存写入Windows的页面文件。
    申请大量的内存来强制Windows丢弃缓存数据,并且将程序数据写入页面文件。然后再释放申请的内存,从而降低内存用量。
    这两种伎俩确实都能够释放内存,使内存空闲。然而所有的努力不过实在让事情变得更糟罢了——现在你要运行的程序便不得不从页面文件中读取所需数据,从而话费更长的时间。任何用于缓存的内存都可以被丢弃,于是Windows便不得不从硬盘中取得它所需的数据。

    换句话来说,这些程序释放了快速存储,却把数据转移到了慢速存储,而后这些数据不得不再次移动到快速存储中。这简直太无厘头了!他们干的事儿不过是卖给了你一个需要用光照才能亮的手电筒!

    如果Windows需要内存的话,它会把数据载入页面文件或者丢弃一些缓存数据。所有的这些都是在需要的时候自动完成的 ——没有理由在不必要的时候做这些事情,还让你的机器变慢。

    诸如PC清理软件,内存优化软件等等,都是骗局而已。它们只不过让不懂内存管理的人们以为它们干了些有益的事情,但实际上做的都是些有害的事情。

    如何真正“优化”你的内存

    如果你想得到更多的可用内存的话,把内存优化软件扔到垃圾箱里吧,相反你应该试试不去运行你不需要的应用——将其从系统托盘中退出,禁止无用的启动程序等等。

    如果你的工作需要更多的内存,同学你该买内存啦!内存其实相当便宜(译者按:JS作祟现在国内的内存价格不便宜!),而且安装也异常简单——从网上随便找一个教程就可以了。你需要注意的只是保证你买的内存的类型适合你的电脑。

    不错,内存优化软件能够释放你的PC的内存。但是,那实在是一件扯淡的事情——你的计算机需要使用内存来加速运行。没有理由让内存闲着下蛋!
    loading
        1
    loading  
       2014-04-09 10:02:31 +08:00 via iPhone
    要打个游戏,电脑内存小,那什么游戏球会自动帮助清理内存,谁说一无是处…
    hitsmaxft
        2
    hitsmaxft  
       2014-04-09 10:30:10 +08:00
    资源管理目前的操作系统做得很好了, 所以这类软件会慢慢消亡,至少现在会变得一无是处,反而像这文章所说的有害。。

    这类软件不真正解决资源占用问题,靠没意义地挤内存,治标不治本
    ChiangDi
        3
    ChiangDi  
       2014-04-09 10:42:07 +08:00 via Android
    其实我想问,为什么关机对电脑不好?
    sunocean
        4
    sunocean  
       2014-04-09 10:54:19 +08:00
    @ChiangDi 去问 gnome3的作者
    cxe2v
        5
    cxe2v  
       2014-04-09 10:59:42 +08:00
    @ChiangDi 每次开机都要进行硬件自检,还有关机的时候会像硬盘写回大量数据
    kinghenry
        6
    kinghenry  
       2014-04-09 11:00:12 +08:00
    内存一直在跌价,这种工具在小内存的时候有需求,现在就没必要了。另外mac os x 10.9在内存管理上非常棒,不知道windows会不会跟进。
    cxe2v
        7
    cxe2v  
       2014-04-09 11:00:17 +08:00
    @loading 所以你其实需要的是增加内存了
    qq1693129601
        8
    qq1693129601  
       2014-04-09 11:18:46 +08:00
    win下的内在管理软件不太清楚,但android下的一般都是直接把其它进程干掉,谁说这样不能加速的?
    Aegwynn
        9
    Aegwynn  
       2014-04-09 11:21:41 +08:00
    对于有强迫症的人来说,内存优化软件还是大有市场的。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5722 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 06:44 · PVG 14:44 · LAX 22:44 · JFK 01:44
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.