这是我在 Linux 服务器上使用的。它仍然使用exec,但其他问题在这里指向重复,并且没有[好的]建议。它应该适用于每个发行版,但如果不能,请尝试使用 $get_cores + 1 偏移量。
CPU 使用的核心百分比(5 分钟平均):
$exec_loads = sys_getloadavg();
$exec_cores = trim(shell_exec("grep -P '^processor' /proc/cpuinfo|wc -l"));
$cpu = round($exec_loads[1]/($exec_cores + 1)*100, 0) . '%';
RAM 占总使用的百分比(实时):
$exec_free = explode("\n", trim(shell_exec('free')));
$get_mem = preg_split("/[\s]+/", $exec_free[1]);
$mem = round($get_mem[2]/$get_mem[1]*100, 0) . '%';
已用 RAM(以 GB 为单位)(实时):
$exec_free = explode("\n", trim(shell_exec('free')));
$get_mem = preg_split("/[\s]+/", $exec_free[1]);
$mem = number_format(round($get_mem[2]/1024/1024, 2), 2) . '/' . number_format(round($get_mem[1]/1024/1024, 2), 2);
如果您需要计算其他方面,这里是 $get_mem 数组中的内容:
[0]=>row_title [1]=>mem_total [2]=>mem_used [3]=>mem_free [4]=>mem_shared [5]=>mem_buffers [6]=>mem_cached
奖励,这是获得正常运行时间的方法:
$exec_uptime = preg_split("/[\s]+/", trim(shell_exec('uptime')));
$uptime = $exec_uptime[2] . ' Days';