FreeMemory实际上是做什么的?


13

Mac App Store上有一个评价很高的应用程序,称为FreeMemory。它声称能够“通过简单的单击来增加您的可用内存”。尽管它现在是免费的,但我相信它通常售价为99美分。

作为计算机科学家,我对应用程序的直觉是几乎可以肯定它是蛇油。在现代操作系统中,应用程序可以做的任何事情充其量都是不必要的,而实际上却最不利于性能。

我最好的猜测是,该应用程序可能会执行某些操作,导致系统转储“非活动”内存,这可能对性能没有任何影响。但是,几乎没有提供有关该应用程序的信息,因此我不愿意将其安装在我的计算机上。我对OS X的了解不如对Linux和Windows的熟悉,所以我可能会误会OS X如何处理RAM。

我的问题是:

  • FreeMemory到底是做什么的,它是如何实现的?是否有一些公共API可以使用户空间程序访问操作系统的内存管理参数?
  • 使用FreeMemory真的可以提高性能,还是我怀疑是蛇油?

3
一个好问题!我最大的烦恼不仅在于散布FUD,还在于利用FUD骗取人们来之不易的现金!

感谢所有周到的答案。我实际上在MBP上安装了“ Free Memory”,因为它似乎真的使应用程序之间的切换陷入了困境。安装了FM应用程序后,实际上并没有任何改善,还有一个额外的刺激,因为该应用程序是“释放内存”,因此在45秒左右的时间内根本没有其他功能。我认为运行OS X6.8的MPB不能很好地处理其自身的内存,但是此应用程序似乎无济于事。

Answers:


12

绝对没有什么能骗人了。不要问我为什么苹果公司批准了它。iOS和OS X根据需要管理内存。那里有很多FUD声称它很差。没有证据支持这些主张。没有事实。没有人曾在该领域获得过少量经验或教育,并且从未提出(我见过)并认可这些主张。蛇油。

您想提高性能?购买更好的设备。只有更好的硬件才能等同于更好的性能。您当然可以优化系统,但这并不能做到这一点,它只会转移可用内存。

以下是如何理解OS X中的内存管理(Apple提供)的细分:

可用内存

这是未使用的RAM。

有线内存

该内存中的信息无法移至硬盘,因此必须保留在RAM中。有线内存的数量取决于您使用的应用程序。

活动内存

此信息当前在内存中,并且最近已被使用。

无效的内存

内存中的该信息并未得到积极使用,但是最近才被使用。

例如,如果您一直在使用Mail,然后退出它,则Mail所使用的RAM被标记为非活动内存。此闲置内存可供其他应用程序使用,就像可用内存一样。但是,如果在其他应用程序使用其非活动内存之前打开Mail,则Mail将更快地打开,因为其非活动内存已转换为Active memory,而不是从速度较慢的硬盘加载Mail。

现在,即使对Apple操作系统中的内存管理有基本的了解,请告诉我您是否认为“释放”不活动的内存有用吗?它可用于任何请求它的应用程序,并且如果同一应用程序想要再次获取它,它将提高速度。这当然不是那么简单,但是将不活动的内存夷为平地并将其移至可用内存不会提高性能。毕竟怎么可能?一个好的系统应该囤积所有的内存并将其分配给需要它的东西。空闲内存是浪费的内存,因为按照定义,它不被使用。如果您有8 GB的RAM并始终保持4 GB的可用空间,则您的系统正在运行4 GB。

OS X中的非活动内存是智能分配的。当我看到有效而又可靠的数据时,我会改变自己的看法。老实说,如果没有别的,您是否认为某个第三方应用程序发现了内存管理的圣杯,这一直困扰着苹果世界一流的工程师(更不用说成千上万的开源UNIX程序员了)?就像我说的那样,蛇油。


请注意,该应用程序专门用于OS X,而不是iOS,但我喜欢答案。
尼古拉斯·史密斯,

@NicholasSmith iOS与OS X的管理方式几乎相同。它的文件结构也相同,因此内核体系结构也是如此。对于这样的低级功能,您可以谈论iOS和OS X的可互换性(显然,iOS被调整为可以在ARM7架构上运行,但是出于我们的意图和目的,我们不必为此担心),但这不在主题之列,我编辑了我的答案,以便更好地关注OP的问题。谢谢。不知道为什么我在其中编织iOS ...必须学习如何更好地阅读。

相似之处就是我喜欢它的原因,您可以通过iOS了解OS X如何在有限的内存环境下轻松处理。
尼古拉斯·史密斯,

@NicholasSmith是个好主意,应该进一步支持所有这些内存管理应用程序(iOS和OS X)绝对不执行任何操作(Apple批准它们是可耻的;至少,它们似乎“不诚实”)。

为什么即使我的记忆中有40%以上为“不活动”,我的Mac也还是会像疯了似地开始交换
亚历山大-恢复莫妮卡(Monica)2012年

6

安装并经过测试,他们正在运行清除命令并释放不活动的内存。这不是100%的毒药,在某些情况下OS X无法正确释放非活动状态并开始命中基于磁盘的交换文件(导致I / O性能下降),但是对于大多数用户而言,它是毫无用处的。

尽管如果他们为在菜单栏中包装命令赚了0.99美元,我确实需要获得Mac Developer许可证。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.