0
你好,我現在用的是下面的代碼,試圖獲取Java的內存使用情況在PHP(在Linux上)獲取內存使用PHP
返回的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作爲內存使用量。
這是不必要在這裏周圍使用'$ PID'雙引號來獲得內存使用:'strpos($統計[$ i],「$ PID「)' – crush
如何簡化代碼以便調試?不要做'func(func(func(....))''嵌套。將每個階段的輸出/返回值捕獲到單獨的單獨代碼塊中,以便您可以瞭解事情在哪個階段中斷。請記住:編寫代碼很困難,調試更困難。如果您編寫的代碼是寫作能力的限制,則根據定義,您無法對其進行調試。 –
向我們展示您的shell命令的輸出示例。 – crush