自从升级lion后内存使用过大一直是一个很头疼的问题,一个不小心4G内存就只剩几百M了。
买了一根4G的内存条替换以前的2G,这样就有6G内存了。
本来以为没什么问题了,但是机器跑久了,6G内存的可用空间还是会用的所剩无几。
已使用的内存分为3种,联动、活跃和非活跃的,具体介绍见这里。
简单的说,OS X的内存使用情况分为wired、active、inactive、free四种。
wired是系统核心占用的,永远不会从系统物理内存种驱除。
active表示这些内存数据正在使用中,或者刚被使用过。
inactive表示这些内存中的数据是有效的,但是最近没有被使用。
free, 表示这些内存中的数据是无效的,这些空间可以随时被程序使用。
当free memory低于某个值(由实际内存大小决定),系统则会按照一定顺序使用inactive的资源。将inactive的资源通过一定原则释放成free。供程序使用。如果active的内存资源一段时间没有被使用,也会被暂时改为inactive状态。同样,当需要时这部分inactive内存资源也会释放成free供程序使用。那么被释放的部分就会分配到磁盘虚拟的内存中。(这也是为什么当磁盘可用空间低于10G的时候会影响系统速度的原因)。
所以,当系统里有少量的free memory和大量的inactive memory,是正常现象。只要系统或程序需要时,系统就会将其转换并使用。但是,如果系统的free memory和inactive memory都很小,而active memory很大,则说明你的内存不够了。
以上说明OS X对于内存的管理不需要我们自己来操心。一切都由系统自己动来平衡。
而WIN系统为了兼容不规范的程序,系统允许程序长时间或一直占用内存不释放。所以需要常常重启。
如果你确实需要手动的清理inactive memory,那么,可以在终端执行以下命令。
转自:http://www.dlfen.com/?p=261
@import url(http://www.cppblog.com/CuteSoft_Client/CuteEditor/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css);