PHP獲取CPU、內存使用情況


原理(大概):使用Linux top命令 然后正則匹配想要的結果;

不要取top命令的第一次結果,不准確

代碼:

<?php
$fp = popen('top -b -n 2 | grep -E "(Cpu|Mem)"',"r");//獲取某一時刻系統cpu和內存使用情況
$rs = "";
while(!feof($fp)){
$rs .= fread($fp,1024);
}
pclose($fp);
echo $rs.'<br>';
preg_match_all("/Cpu.*us\,/", $rs,$cpus);
var_dump($cpus[1]);
echo '<br>';
preg_match('/(\d|\.)+/', $cpus[1], $cpu); //cpu使用百分比
var_dump($cpu);
echo '<br>';
preg_match_all('/ \d+ used/', $rs,$cmems);
var_dump($cmems[3]);
echo '<br>';
preg_match('/\d+/', $cmems[3],$cmem); //內存使用量 k
var_dump($cmem);
$log = "$cpu[0]--$cmem[0],\r\n";
echo $log;
$logres = file_put_contents('./yali.log',$log,FILE_APPEND);


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM