forked from SimplesIP/pabx-app
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
144 lines
4.9 KiB
144 lines
4.9 KiB
<?php |
|
$arq = file('/proc/cpuinfo'); |
|
for ($i = 0; $i < sizeof($arq); $i++) { |
|
if (substr($arq[$i], 0, 9) == 'vendor_id') { |
|
$fabricante = trim(substr($arq[$i], 12, 1000)); |
|
} |
|
if (substr($arq[$i], 0, 10) == 'model name') { |
|
$modelo = (substr($arq[$i], 12, 1000)); |
|
} |
|
if (substr($arq[$i], 0, 7) == 'cpu MHz') { |
|
$mhz = (substr($arq[$i], 11, 1000)) . 'Mhz'; |
|
} |
|
if (substr($arq[$i], 0, 10) == 'cache size') { |
|
$cache = trim(substr($arq[$i], 12, 1000)); |
|
} |
|
} |
|
|
|
function processamento_cpu($cpu) { |
|
$arq = file('/proc/stat'); |
|
for ($i = 0; $i < sizeof($arq); $i++) { |
|
if (substr($arq[$i], 0, 4) == $cpu) { |
|
$parts = explode(" ", preg_replace("!cpu +!", "", $arq[$i])); |
|
|
|
$return = array(); |
|
$return['user'] = $parts[0]; |
|
$return['nice'] = $parts[1]; |
|
$return['system'] = $parts[2]; |
|
$return['idle'] = $parts[3]; |
|
return $return; |
|
} |
|
} |
|
} |
|
|
|
function getCpuUsage($cpu) { |
|
$time1 = processamento_cpu($cpu) or die("getCpuUsage(): couldn't access STAT path or STAT file invalid\n"); |
|
sleep(1); |
|
$time2 = processamento_cpu($cpu) or die("getCpuUsage(): couldn't access STAT path or STAT file invalid\n"); |
|
|
|
$delta = array(); |
|
|
|
foreach ($time1 as $k => $v) { |
|
$delta[$k] = $time2[$k] - $v; |
|
} |
|
|
|
$deltaTotal = array_sum($delta); |
|
$percentages = array(); |
|
|
|
foreach ($delta as $k => $v) { |
|
|
|
if ($deltaTotal == 0) { |
|
$deltaTotal = 1; |
|
} |
|
$percentages[$k] = round($v / $deltaTotal * 100, 2); |
|
} |
|
return $percentages; |
|
} |
|
?> |
|
|
|
|
|
|
|
<style type="text/css"> |
|
<!-- |
|
body { |
|
margin-left: 0px; |
|
margin-top: 0px; |
|
margin-right: 0px; |
|
margin-bottom: 0px; |
|
} |
|
--> |
|
</style> |
|
|
|
<form name="form1" method="post" action="admin/"> |
|
<table width="100%" border="1" cellpadding="0" cellspacing="0" bordercolor="#990000"> |
|
<tr class="cabecalho"> |
|
<td colspan="3"><div align="center">PROCESSAMENTO</div></td> |
|
</tr> |
|
<tr class="cabecalho2"> |
|
<td colspan="3"><div align="center">DADOS DO PROCESSADOR:</div></td> |
|
</tr> |
|
<tr bordercolor="#f4f4f4" bgcolor="#f4f4f4"> |
|
<td width="11%" class="dados"><div align="right">FABRICANTE:</div></td> |
|
<td colspan="2" class="dados"><? echo $fabricante; ?></td> |
|
</tr> |
|
<tr bordercolor="#f4f4f4" bgcolor="#f4f4f4"> |
|
<td class="dados"><div align="right">MODELO:</div></td> |
|
<td colspan="2" class="dados"><? echo $modelo; ?></td> |
|
</tr> |
|
<tr bordercolor="#f4f4f4" bgcolor="#f4f4f4"> |
|
<td class="dados"><div align="right">MHZ:</div></td> |
|
<td colspan="2" class="dados"><? echo $mhz; ?></td> |
|
</tr> |
|
<tr bordercolor="#f4f4f4" bgcolor="#f4f4f4"> |
|
<td class="dados"><div align="right">CACHE:</div></td> |
|
<td colspan="2" class="dados"><? echo $cache; ?></td> |
|
</tr> |
|
<tr class="cabecalho2"> |
|
<td colspan="3"><div align="center">USO DO CPU: </div></td> |
|
</tr> |
|
<tr class="cabecalho2"> |
|
<td><div align="center">CPU:</div></td> |
|
<td width="10%"><div align="center">% USO </div></td> |
|
<td width="79%"> </td> |
|
</tr> |
|
<? |
|
$arq = file('/proc/stat'); |
|
for ($i = 0; $i < sizeof($arq); $i++) { |
|
if (substr($arq[$i], 0, 3) == 'cpu') { |
|
?> |
|
<tr bgcolor="#f4f4f4"> |
|
<td><div align="center"> |
|
<input name="nmcpu<? echo $i; ?>" type="text" class="monitoracao" id="nmcpu<? echo $i; ?>" size="15" maxlength="10"> |
|
</div></td> |
|
<td><div align="center"> |
|
<input name="por<? echo $i; ?>" type="text" class="monitoracao" id="por<? echo $i; ?>" size="15" maxlength="10"> |
|
</div></td> |
|
<td><img src="bar.php?rating=" border="0" name="img<? echo $i; ?>"></td> |
|
</tr> |
|
<? |
|
} |
|
} |
|
?> |
|
</table> |
|
</form> |
|
<? |
|
//BLOCO DE LOOP QUE PEGA DADOS EM TEMPO REAL |
|
while (true) { |
|
$arq = file('/proc/stat'); |
|
$qt_cpu = 0; |
|
for ($i = 0; $i < sizeof($arq); $i++) { |
|
if (substr($arq[$i], 0, 3) == 'cpu') { |
|
$qt_cpu++; |
|
$cpu = getCpuUsage(substr($arq[$i], 0, 4)); |
|
$cpulast = 100 - $cpu['idle']; |
|
$cpu_nome = trim(substr($arq[$i], 0, 4)); |
|
$cpu_por = $cpulast; |
|
echo "<script>javascript:document.form1.nmcpu$i.value='" . $cpu_nome . "';</script>"; |
|
echo "<script>javascript:document.form1.por$i.value='" . $cpulast . "'+'%';</script>"; |
|
echo "<script>javascript:document.img$i.src='bar.php?rating=$cpulast';</script>"; |
|
} |
|
} |
|
flush(); |
|
sleep(3); |
|
} |
|
?>
|
|
|