java - 使用php获取内存使用情况

标签 java php linux memory ram

您好,我正在使用以下代码来尝试获取 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/

相关文章:

php - Apache docker 容器 - 无效命令 'RewriteEngine'

linux - 如何判断输入是否为退格

java - 如何让 Hive JDBC 驱动程序和 Hive shell 与同一个数据库通信?

java - HTTP 状态 500 - java.lang.NullPointerException Servlet + jsp

java - 如何在 HBase 中检索行的最后修改时间戳?

java - JAVA中如何将以空格分隔的整数字符串转换为数组

php - 使用 PHP 向 Urban 飞艇发送消息

php - 外部启动 PHP 脚本的 MYSQL 触发器

linux - 有没有办法将电子邮件从 Linux 服务器传输到 Windows 服务器?

linux - Fedora、ubuntu 中的 Perl 输出困惑