2011年9月12日星期一

内存那点破事儿

关于系统内存占用的问题,已经是个我懒得再提的话题了。但是因为今天(应该是昨天了啊)中午和钱总讨论MAS里某个软件的时候,又发现了一点有趣的东西,所以就特地撰文写写。先来看看下面的截图:

Memory

 

这是Mac App Store中国店和日本店的收费软件总排行(注意,是总排行!)。从图中我们能看出一个共同的特点,那就是有一个内存清理工具居然能排上收费榜前三!这让我大大的吃惊了,不禁感叹了一下,亚洲的兄弟国家真是像啊,都热衷于清理内存。

其实我当时很想弄这两个软件下来,研究它们到底是如何清理内存的,不过后来发现其中某一个的支持网页是如此的山寨,我也就作罢了;当时我和钱总都几乎一致认为某货是传说中的欺诈软件(如果软件作者或开发公司见到了本文,并且深刻觉地我错怪你们了,那我先道个歉)。

好了,不提MAS里的软件了了。既然提到了内存清理,那么我就来简单说说“内存究竟是否真的可以清理”这个问题吧。

答案是肯定的,而且还不需要花钱。但是你必须安装了Xcode--因为Mac的开发者工具里提供了一个命令行工具:purge(我没有验证过把这货单独扒出来能不能执行,如果你闲来无事,可以试试看),能够释放那些用来做缓存的内存。我亲自试过,最好的时候能从99%一下子释放到20%上下(我的内存是8G)。

如果你对命令行不感冒呢,那么其实还有一个小工具(也叫Purge)来助你一臂之力。而这个小工具做的事情呢,其实也就是帮你执行purge命令:

スクリーンショット 2011 09 12 0 43 16

事实上,还有另外一个我之前介绍过的免费程序atMonitor也能做这个工作,原理自然也是执行purge命令啦,因此,也依赖Xcode开发工具包。

既然把原理都弄清楚了,那么其实你也可以自己“开发”一个内存清理程序:

打开Automator,选择“应用程序”模版。从左侧“实用工具”的分类下,选择执行Shell脚本的模块,拖到右侧的流程窗格。选择sh,bash,zsh等中的任意一个,输入purge;保存为Purge。然后,你就有了一个可执行程序了,以后就可以直接双击执行,都不用去下载别人的软件。如果你Geek一点,你甚至可以替换Automator的图标,然后分享给你的朋友。:D(替换图标方法和本话题无关,不赘述,喜欢美化系统的人谁没几个替换图标的软件啊,是吧!)

スクリーンショット 2011 09 12 0 52 51

关于上面的那两个MAS里的软件是如何实现内存清理的,我不得而知了。难道是检查系统中是否存在purge,有的话就执行(有人反映有效);没有的话就装模作样的执行一会儿(有人反映没用)。当然,这只是我的个人猜想,不过希望不要被我言中。

关于内存到底需不需要清理,那我就不深入讨论了。个人觉得,物理内存占用99%不表示内存不够,物理内存只占10%也不表示系统就不缺内存。我只信两点:1. 内存交给OSX管理比你自己时不时释放一下更靠谱;2. 如果内存真的不够用了,你需要的不是清理内存的软件,而是为电脑增加一个内存条。

好了,就说这么多,以后真不再提内存这事了。

没有评论:

发表评论