苹果对 Mac 的 RAM 有着严格的限制,特别是今年新发布的 MacBook Pro 上,设备只有 16GB RAM,这让很多用户都不满,然而苹果也是无能为力。既然如此,苹果何不"曲线救国"呢?科技作者 Kirk McElhearn 指出,虽然 Safari 是一款强大的网页浏览器,但是它也特别消耗内存,苹果也可以从此入手进行优化。以下是全文:我很喜欢使用 Safari,从它发布到现在,苹果的这款网页浏览器帮我处理了大量的工作和任务。当然我也不抗拒使用 Chrome 和 Firefox,因为有某些任务还需要这些浏览器来完成,但 Safari 才是我的默认浏览器。
我喜欢 Safari 是因为喜欢它的标签管理方式。你可以把标签固定起来,这样不管你什么时候想打开都很方便,而且在标签栏中只占据很小的空间。
我喜欢 Safari 的 Reader 功能,这个自带的阅读器功能可以把网页以一种方便阅读的形式展现出来,而且也没有广告;我喜欢 Safari 连接 keychain 钥匙链以保存密码的方式;我喜欢Safari还因为它支持我在 Mac 和 iOS 设备之间同步书签、最喜欢浏览的网站等其他数据。
但Safari 有一点是我非常不喜欢的:它是一个"吃货",一个大大的"吃货"。
到现在为止我的 iMac 运行时间差不多有 4 天了(从我上次重新启动设备到现在)。我看到 Safari 使用了 6.81GB 的 RAM,是我的 Mac 上到目前为止最吃内存的一款程序。Safari 本身使用大约 1GB 的内存,然后每一个标签、每一个窗口也都需要 RAM。如果你想知道自己的 Mac 上哪款程序比较吃内存,那么你可以在 Activity Monitor(Applications→Utilities)中选择 Memory 标签即可查看。
在 Activity Monitor 中你可以查看每一个 Safari 标签和窗口,还有它们占用了多少 RAM
如上图你可以看到,内存占用量最高的是在线办公软件 Google Docs,打开一个空白的文件就需要超过 500MB 的 RAM。如果再多打开几个 Google Docs 文档的话,你应该就能够看到这个数字会疯一般地增加。(也不知道这到底是谷歌优化不好还是苹果方面的失误。)
这些被占用的内存很大程度上取决于用户已经打开页面或者标签有多长的时间了。如果我在我的 12 英寸 MacBook 上打开了 Safari,然后再打开和 iMac Safari 上一样的标签,那么它们其实占用掉的内存仅为 2.8GB。当然了如果我就让这些 Safari 的标签一直这么开着,那么它们占用的 RAM 数量也会不断增加。
如果你注意观察你就会发现程序占用的 RAM 会随着程序使用时间的增加而增加。我自己会通过 iStat Menus 来实时检查我的 Mac 的各项指标。如果使用设备的过程中我时不时地打开 iStat Menus 来使用的话,我就会发现 Safari 占用的 RAM 数量会不断增加。就在我写这篇文章的过程中,上文我说 Safari 占用的内存为 6.81GB,现在 15 分钟之后这个数量已经增加到 7.14GB 了。而接下来如果我继续开着这些标签和窗口,那么 Safari 占用的内存还会进一步增加。
不过从 macOS 管理内存的角度来说,这种占用内存会随着时间的增加而增加的情况其实不是什么大问题。一些内存会被压缩,还有一些会被分页到磁盘(作为虚拟内存)。在有必要的情况下,你的 Mac 能够有效利用更多 RAM,甚至超出设备本身所有的 RAM。
但虚拟内存也不一定就是解决问题的灵丹妙药。你的 Mac 使用虚拟内存时,它会将一些原本存储在 RAM 的数据写到磁盘中,我们将这个过程称之为"交换"文件。当它想要获得这些数据的时候,它就需要读取这些文件。在固态硬盘上读写其实相对比较快(虽然会比在 RAM 中读写的速度稍微慢一点),但是将数据传送到硬盘上或者将数据从硬盘中传出来--特别是 iMac 上还只配备了 5400-rpm 磁盘--那么你的 Mac 就会变得很慢很慢。
当用户同时使用 Safari 以及其他一些非常耗内存的应用时,那么问题就会暴露出来了。在今年发布的 MacBook Pro 中,如果使用 32GB 内存就需要采用另外一种主板设计,从而减少 MacBook Pro 的电池占用空间,设备的续航能力就会被削弱,因此设备最大 RAM 为 16GB,这就引起了不小的争议。
在使用新一代 MacBook Pro 时,也许普通人对 16GB 的最大内存并没有感到任何不便之处。但是自从苹果发布会结束之后,苹果就一直遭到专业人士以及开发者的指责,因为新一代 MacBook Pro 不支持 32GB,会降低专业人士的工作体验。对于旧款 Mac 用户来说,他们遇到的情况可能会更糟糕,特别是使用那些配备较少 RAM 或者硬盘的 Mac 机型的用户。
为了提升 Mac 的整体性能,如果苹果没有办法增加 RAM 的话,那么他们可以把目光放到 Safari 身上,找到解决办法,限制它对内存的使用。
……