2012-02-28 70 views
0

我正在开发一个为linux开发的系统,它需要机器的总内存和可用内存。如何从OSX获得总内存和可用内存,以便我可以从PHP程序中使用它?

为此,系统使用linux的/ proc /文件夹来获取该数据,但是mac没有该文件夹。

两天前我厌倦了在我的电脑上运行虚拟机,只能测试并开始使程序与mac兼容。

因此,我开始评估不同的方法,但都没有工作。

最流行的答案,你可以网上看到的,如果你搜索这个问题有以下几种:

  • 免费(-bash:免费:命令未找到//它不会在Mac存在) 。
  • 顶部(我能够查看控制台中的信息,但我无法从代码中检索到它)。

但由于我在括号之间添加的原因,它们没有用处。

如何获得Mac计算机上的总内存和可用内存,以便我可以在程序中使用它?


注意:我在使用php。如果你有一个php解决方案,它会工作,但我更喜欢一个通用的解决方案。

回答

2

这里are bunch of answers from apple.stackexchange.com from an exact duplicate of this question,不难从简单的Google搜索中找到。

使用psvmstat的Python解决方案可以很容易地直接在PHP中以几乎相同数量的代码行重新编写。

有很多解决方案,所有的命令行都有可以解析的输出。

所有的Python和Ruby解决方案都很简单地解释了简单的代码如何使用sysctl并解析它的输出以获得可用内存。他们大多数是单功能或甚至一个班轮。

这里是一个list of all the Unix command line tools that ship with OSX,你可能会发现something more platform specific,但free工作一样脚本在上面的链接将更多的平台不可知论者。

+0

我已经看过那个页面。有一个python方法(我不使用python)。一个顶级的解决方案(我不能得到输出),两个红宝石脚本(我不知道红宝石)。最后的解决方案不适用于lynux,只适用于mac。它的工作原理,但我想看看是否有一个Linux和Mac的解决方案。 – 2012-02-28 23:05:58

+0

您不需要使用python,只需使用该脚本的输出,就可以输出可以通过任何其他方式轻松解析的文本。你甚至可以重新编写它在PHP中所做的事情,它所做的事情非常简单。 – 2012-02-28 23:07:28

+0

'top -l 1 | awk'/ PhysMem:/ {print $ 10}''很简单。 'top'和'awk'几乎是骨头库标准的Unix工具 – 2012-02-28 23:12:59

相关问题