【发布时间】:2011-05-08 14:26:44
【问题描述】:
我已经搜索了几天,我知道需要做什么,但无法弄清楚确切的代码。我知道它必须使用 preg_match 才能让我得到我想要的,但我遇到了麻烦。
我试图让一个脚本显示系统上使用了多少 RAM。我正在使用 php 执行。我使用命令 free -mt。在网上,我确实找到了这段代码,并稍作修改。
exec('free -mo', $out);
var_dump($out[1]);
list($mem, $used, $free, $shared, $buffers, $cached) = explode(" ", $out[1]);
echo "Memory: " .$used. "/" . $total;
如果我只想输出当前使用的 RAM 量,我需要做什么?
代码结束显示所有 RAM,但我需要它来显示 RAM 的总使用量。我从该代码中得到的输出是:
string(73) "Mem: 768 162 605 0 0 0" Memory: /
我希望它只是说正在使用的 RAM,所以,它应该在这个确切的时刻显示 162,但它应该是每次刷新时的真实数据。
【问题讨论】:
-
free -mo给你什么样的输出? -
@Pekka - 在 PHP 中,我得到:string(73) "Mem: 768 162 605 0 0 0" Memory: / from enter that。
-
看起来不错。上面的代码你得到了什么结果?
-
@Pekka - 我没有返回那些细节,而是寻找一个要输出的数字,即已使用的 RAM 量。我该怎么做?
-
@Jacob 您显示的代码应该已经做到了。
$used应该包含已用内存量。如果你运行它会发生什么?