嘿伙计们我正在制作一个小脚本,它显示了cpu负载,ram使用情况和存储使用情况。我已经设法通过这个小脚本获得cpu用法:
$dat = getrusage();
$usertime= $dat['ru_utime.tv_usec'];
$systemtime= $dat['ru_stime.tv_usec'];
$finalresultcpu= ($systemtime/$usertime);
$cpuload = $finalresultcpu * 10;
echo $cpuload;
所以现在我想要使用RAM和存储空间。 Web服务器正在Linux计算机上运行。我知道有监视器脚本phpsysinfo,但我想使用我自己的解决方案。然后我尝试了shell_exec
,但这并没有真正帮助。有人知道如何用PHP或php和javascript的组合来解决这个问题吗?
答案 0 :(得分:1)
如果您知道此代码仅在Linux下运行,则可以使用特殊的/proc/meminfo
文件来获取有关系统虚拟内存子系统的信息。该文件的格式如下:
MemTotal: 255908 kB
MemFree: 69936 kB
Buffers: 15812 kB
Cached: 115124 kB
SwapCached: 0 kB
Active: 92700 kB
Inactive: 63792 kB
...
第一行MemTotal: ...
包含机器中物理RAM的数量,减去内核为自己使用的空间。这是我所知道的在Linux系统上获得可用内存的简单报告的最佳方式。您应该能够通过以下代码提取它:
<?php
$fh = fopen('/proc/meminfo');
$mem = 0;
while ($line = fgets($fh)) {
$pieces = array();
if (preg_match('^MemTotal:\s+(\d+)\skB$', $line, $pieces)) {
$mem = $pieces[1];
break;
}
}
fclose($fh);
echo "$mem kB RAM found"; ?>
(请注意:此代码可能需要对您的环境进行一些调整。)