0

proc_open() によって実行されるプロセスのメモリ使用量と実行時間を測定する必要があります。時間の測定はそれほど難しくありませんが、メモリ使用量を取得する方法が見つかりません。(プログラムはすぐに終了する可能性があります)

によって実行されたプロセスのメモリ使用量を取得する方法はありますproc_open()か?

私のOSはなぜかwindowsです。

4

1 に答える 1

1

@love-paper、descriptorspecproc_openのパラメーターを使用して、メモリ使用量をファイルに書き込み、それを読み取ることができます.

親プロセス

$child_id = uniqid();
$descriptorspec = array(
   2 => array("file", "/tmp/$child_id", "a") // stderr is a file to write to
);
proc_open($cmd, $descriptorspec);

$memory_used = file_get_contents("/tmp/$child_id");

子プロセス

// at the end of the script
file_put_contents('php://stderr', memory_get_peak_usage(true));
于 2012-12-30T14:26:43.623 に答える