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
5.0 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"><?php echo $fabricante; ?></td>
</tr>
<tr bordercolor="#f4f4f4" bgcolor="#f4f4f4">
<td class="dados"><div align="right">MODELO:</div></td>
<td colspan="2" class="dados"><?php echo $modelo; ?></td>
</tr>
<tr bordercolor="#f4f4f4" bgcolor="#f4f4f4">
<td class="dados"><div align="right">MHZ:</div></td>
<td colspan="2" class="dados"><?php echo $mhz; ?></td>
</tr>
<tr bordercolor="#f4f4f4" bgcolor="#f4f4f4">
<td class="dados"><div align="right">CACHE:</div></td>
<td colspan="2" class="dados"><?php 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%">&nbsp;</td>
</tr>
<?php
$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<?php echo $i; ?>" type="text" class="monitoracao" id="nmcpu<?php echo $i; ?>" size="15" maxlength="10">
</div></td>
<td><div align="center">
<input name="por<?php echo $i; ?>" type="text" class="monitoracao" id="por<?php echo $i; ?>" size="15" maxlength="10">
</div></td>
<td><img src="bar.php?rating=" border="0" name="img<?php echo $i; ?>"></td>
</tr>
<?php
}
}
?>
</table>
</form>
<?php
//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);
}
?>