您好,我正在使用以下代码来尝试获取 PHP 中 java 的内存使用情况(在 Linux 上)
返回 PID 的脚本部分可以工作,但获取其内存使用情况的代码似乎不起作用。
这是我的代码:
$PID = exec('ps -eo pid,comm | grep \'java$\' | awk \'{print $1}\' | head -1');
$stats = explode("\n", shell_exec('pmap $(pgrep java) | grep \'total\\|\\:\''));
for ($i = 0; $i < count($stats); $i += 2) {
if (strpos($stats[$i], "$PID") === 0) {
preg_match('/\d+/', $stats[$i+1], $preRes);
$res = $preRes[0];
}
}
echo $res;
有人能看出我做错了什么吗?每次都会返回0作为内存使用量。
最佳答案
我能够通过将代码简化为以下内容来获取内存使用情况
$memory = exec('ps -eo rss,comm | grep \'java$\' | awk \'{print $1}\' | head -1');
$memory = $memory/1024;
echo $memory;
关于java - 使用php获取内存使用情况,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21464561/