2012-02-28 71 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

相關問題