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