OS X Mavericks DP1体验(一):Compressed Memory

今天凌晨1点是Apple的WWDC 2013,我和很多朋友一样完整地看完了实况转播。

这无疑是一次令人激动人心的发布会:不再是猫科动物的OS X Mavericks、续航可以达一个白天的MacBook Air、长得像垃圾筒一样的Mac Pro、被彻底拍扁而且配色迥异的iOS 7…

可以说这是一次毫无尿点的发布会,尽管对后半程的iOS 7有人欢喜有人忧。总之,Apple迈出了后乔布斯时代的改变最大的一步。

我打算针对我感兴趣的OS X Mavericks做一翻体验,这个体验是长期的且针对性的,今天是第一篇:Compressed Memory

早上我起来的第一件事情就是在我的Late 2010的的MacBook Air上用开发者帐号升级到OS X Mavericks Developer Preview 1。后来证明我太冲动了,实际上我可以选择安装到移动硬盘上来体验。不过在主机器上体验也好,可以更真实的体验OS X Mavericks的效能了。

刚刚升级完第一次进入Mavericks的体验感觉比较糟糕,系统一卡一卡的,特别是输入法,简直让人没有打字的欲望。后来我又下载Xcode 5 DP,尝试在Xcode里体验iOS 7 Beta,那就感觉系统更不行了…毕竟我的Macbook Air才4GB的内存,用新的系统会慢也是情理之中。然而随着试用的深入,特别是在一次重启后,系统变得流畅平滑,我慢慢改变了印象,后来想大概是初次进系统有很多东西正在初始化、Spotlight在索引的关系吧。

OS X Mavericks除了新的Finder、Safari等之外,其他的系统组件在UI上也有大量变化,比如「活动监视器」对比一下OS X 10.8或之前的,是不是完全不一样了?

这里有一个新东西,叫「已压缩」(右下角),没错,这就是Mavericks的Kernel级别上的新特性:Compressed Memory(压缩内存)。

os-x-mavericks-compressed-memory

这项技术有什么意义呢?意义非常重大,尤其是对我这样电脑内存只有4G的用户来说。我先来简单介绍下什么是「Compressed Memory」。我还是引用官方的图表来说明一下吧:

术语:

Active memory:活跃的内存,比方可以说是开个5个App,每个占用了100M,那么就有500M活跃内存;

Inactive memory:非活跃的内存,比如关掉了三个App,那么这三个App占用的共300M内存就不再是活跃了,但是内核还会保留它。如果这时立马再启动这三个App,就会以非常快的速度打开了,因为还没有被其他App占用的Inactive memory这时又被激活了。如果很长一段时间内这些非活跃内存都没有再用的话,随着系统内存占用增加,这些非活跃内存也会被清空而用做新的用途。

os-x-mavericks-compressed-memory-3

那么Compressed Memory在其中扮演什么角色呢?很简单,它尽可能久的保留那些会用到的非活跃内存,以使系统更快的响应潜在的第二次响应。但是为了照顾新的内存需求,内核会压缩这些非活跃内存以腾出空间,以供新的App使用。

大概就是这么个过程,一般我们会觉得「压缩」而联想到这项技术省了内存,实际上Compressed Memory的核心价值在于是它加快了整个系统的响应速度。根据《OS X Mavericks Core Technology Overview》里的介绍,这项技术的4个特点:

  • 缩减了内存使用:很明显,压缩了非活跃内存;
  • 改善了电源效能:在内存不足的情况下,优先使用压缩非活跃内存技术,而非把内存存为SWAP到硬盘上,减少了硬盘IO带来的能量损耗;
  • 最小化CPU使用:正如上面一样,通过CPU压缩或解压内存是非常快速的一件事情,也减少了CPU处理其他任务的损耗;
  • 多核支持:传统的虚拟内存、或写SWAP等操作都是单核的,但是压缩内存技术则是可以并行跑在多核上,同时压缩内存和开辟新的内存空间

再回到最开头的我的那张截图,你可以看到:已使用内存3.87G(应该是包括了活跃和非活跃),已压缩798M(这意味着有更大的非活跃内存被压缩至了这么大),然后,Swap Used:0字节。还有一个平整的曲线,显示着:内存压力。这条线应该是越低越好,而我现在处于「中等压力」中。

这个时候,尽管我内存已经都被使用了,但是系统响应还是非常快,那些已压缩的内存随时准备着被解压再利用,更多的内存也等着被压缩以供新的使用案例。像在我这样4GB的内存上开着Safari浏览很多网页、开着Xcode编程,同时SWAP的使用还是0的情况,在之前的版本真是不多见的。

理论上通过这项Compressed Memory技术,电脑越用越慢然后只能重启的情况也会越来越少了。至少我现在还浏览着在OS X Mavericks下的Safari写完了这篇文章 :)

<推广> 本站架设于 Linode 东京机房,同时使用 云梯 进行科学上网

16 Comments

  1. 正在下载10.9中,希望能让我体验到更好的Mac(测试版你想个毛体验!)

  2. dee

    速度真快啊。真期待用上mavericks

  3. 感觉很厉害的样子。

  4. 这个体验是长期的且针对性的,今天是第一篇:Compressed Memory(虽然不会有二

  5. 从activity monitor来看10.9貌似可以对应不同的应用到不同的显示核心去....比如diablo 3就对应的是high performance...然后safari什么的对应的都是integrated...

  6. karas

    我觉得压缩内存这种东西没有意思,最简单的做法就是把你的mbp升级到16g。至于mba节哀

  7. hbprotoss

    猜测应该是改进了一下堆管理算法,堆上回收回来的内存在重新分配的时候尽量不动,除非剩下的内存不够用。

  8. 这内存压缩……不就是Linux下的zRAM吗……我现在就在用着。

  9. deerlamp

    我怎么从10.8装了dp1之后,输入密码登录后过一伙就锁屏,需要重新登录,然后此症状无限循环。。。
    难道一定要mac开发者帐号?

  10. 刚刚升到10.9,对Safari里的“共享的链接”印象深刻,省电这个还没体验到。

    字体变漂亮了。

  11. 凉拌茶叶

    什么时候Linux引入一下这个特性呢

  12. Venom

    你现在比我无聊了Zzzz...

Leave a Comment