Hi Leute, ich hab ein kleines Problem, und zwar möchte ich gern über die Konsole die aktuelle CPU Auslastung Auslesen, und zwar die aktuelle...
die von den letzen 5/10/15 min ist mir zu ungenau, und "top" läuft auch nicht, weil ich das mit nem Skript weiterverarbeiten will
meine Methode die ich grade benutz ist die Werte aus der ersten Zeile der /proc/stat zusammenzuzählen.... für jmd der was davon versteht - hier mal der Code:
das benutz ich wie gesagt zur Zeit... vom Prinzip her müssts ja passen, da ich die usage (also die summe von user/nice/system) prozentual von der ganzen Zeit (also usage + idle) ausrechne... aber es kann nicht sein, dass da jede Minute andere Werte rauskommen, und zwar zwischen 20 und 60% CPU Auslastung - was ich irgendwie nicht so ganz glaube...
deswegen meine Frage - wie bekomm ich das anders bzw. genauer raus?! hat da jemand irgendwelche Ideen?
die von den letzen 5/10/15 min ist mir zu ungenau, und "top" läuft auch nicht, weil ich das mit nem Skript weiterverarbeiten will

meine Methode die ich grade benutz ist die Werte aus der ersten Zeile der /proc/stat zusammenzuzählen.... für jmd der was davon versteht - hier mal der Code:
Code:
private function getCPUTimings() {
$statfile = file('/proc/stat');
$cpuinfo = $statfile[0];
$cpuinfo = explode(' ', $cpuinfo);
$cpuinfo = array(
'user' => $cpuinfo[2],
'nice' => $cpuinfo[3],
'system' => $cpuinfo[4],
'idle' => $cpuinfo[5]
);
return $cpuinfo;
}
public function CPU($accuracy = 2) {
$start = $this->getCPUTimings();
sleep($this->cpuInterval);
$end = $this->getCPUTimings();
$diff = array(
'user' => $end['user'] - $start['user'],
'nice' => $end['nice'] - $start['nice'],
'system' => $end['system'] - $start['system'],
'idle' => $end['idle'] - $start['idle']
);
$total = array_sum($diff);
$usage = $total - $diff['idle'];
return round(100 * $usage / $total, $accuracy);
}
das benutz ich wie gesagt zur Zeit... vom Prinzip her müssts ja passen, da ich die usage (also die summe von user/nice/system) prozentual von der ganzen Zeit (also usage + idle) ausrechne... aber es kann nicht sein, dass da jede Minute andere Werte rauskommen, und zwar zwischen 20 und 60% CPU Auslastung - was ich irgendwie nicht so ganz glaube...
deswegen meine Frage - wie bekomm ich das anders bzw. genauer raus?! hat da jemand irgendwelche Ideen?