CPU-Last auswerten
-
- Beiträge: 106
- Registriert: 19.01.2006 16:14:28
CPU-Last auswerten
Hallo gibt es eine möglichkeit die CPU-Last über einen bestimmten Zeitraum auszuwerten ohne RRDTool ? Also einfach so per script oder so ? Ich brauch keine grafische Darstellung oder so sondern wirklich einfach nur die Zahl der z.B. stündlichen durchschnitts Auslastung in %
Hat da jemand eine Idee ??
Hat da jemand eine Idee ??
-
- Beiträge: 106
- Registriert: 19.01.2006 16:14:28
Das kannst du anhand der Load gar nicht. Die Load bezeichnet nur, wieviele Prozesse in der Warteschlange stehen und darauf warten, dass sie vom Prozessor ausgefuehrt werden duerfen. Ne Load von 100 waere also nicht 100% sondern 100 Prozesse, die auf CPU-Zeit warten. Wobei ne Load von 100 schon sehr sehr hoch ist.
-
- Beiträge: 106
- Registriert: 19.01.2006 16:14:28
warum bekomme ich dann wenn ich nichts mache ne ausgabe von : load average 0.00 , 0.00 , 0.00 und wenn ich z.B. ein find befehl auf wurzelverzeichniss mache (also wo er paar sekündchen brauch) ne ausgabe von load average 0.08, 0.02, 0.01
der findbefehl wird doch sofort ausgführt und befindet sich nicht in der warteschlange.
der findbefehl wird doch sofort ausgführt und befindet sich nicht in der warteschlange.
-
- Beiträge: 2186
- Registriert: 18.09.2005 15:52:02
- Lizenz eigener Beiträge: GNU Free Documentation License
-
Kontaktdaten:
Aber es gibt noch eine Menge andere Prozesse, die dann nicht sofort laufen, weil du ja find angefordert hast... einfach mal mitanschauen, was da so alles läuft...
jhr
Code: Alles auswählen
top oder
htop
jhr
Desktop: Intel Core2Quad Q8300 2.5GHz, 256GB SSD + 1 TB HDD, 8 GB RAM, Debian Sid, Kernel 3.13
-
- Beiträge: 106
- Registriert: 19.01.2006 16:14:28
hi,
in "/proc/uptime" stehen 2 Zahlen:
- Sekunden seit dem Booten
- Sekunden in der Idle-Task; solange hat die CPU nichts getan
Passend umgerechnet ist das doch genau was du suchst?
Wenn das dann zu jeder vollen Stunde angezeigt werden soll:
CPU-Zeit nach System/User getrennt steht in "/proc/stat", aber da aendert sich
das Format öfter mal mit einem neuen Kernel. Das Prinzip ist aber gleich.
in "/proc/uptime" stehen 2 Zahlen:
- Sekunden seit dem Booten
- Sekunden in der Idle-Task; solange hat die CPU nichts getan
Passend umgerechnet ist das doch genau was du suchst?
Wenn das dann zu jeder vollen Stunde angezeigt werden soll:
Code: Alles auswählen
#!/bin/bash
#
# periodische CPU-Auslastungs-Anzeige
DELAY=3600 # Sekunden Pause zwischen 2 Anzeigen
# /proc/uptime darf nur einmal gelesen werden, damit beide Werte zusammenpassen
UPTIME=`tr -d '.' < /proc/uptime`
OLD_TOTAL=`echo $UPTIME | cut -f 1 -d ' '`
OLD_IDLE=`echo $UPTIME | cut -f 2 -d ' '`
# erste Pause bis zur naechsten vollen Stunde
# BUG: wenn die zufaellig sehr kurz ist, ist die erste Anzeige ungenau
sleep $(( $DELAY - (`date +%s` % $DELAY) ))
while true ; do
NOW=`date +%H:%M:%S`
UPTIME=`tr -d '.' < /proc/uptime`
NEW_TOTAL=`echo $UPTIME | cut -f 1 -d ' '`
NEW_IDLE=`echo $UPTIME | cut -f 2 -d ' '`
TOTAL=$(( NEW_TOTAL - OLD_TOTAL ))
IDLE=$(( NEW_IDLE - OLD_IDLE ))
OLD_TOTAL=$NEW_TOTAL
OLD_IDLE=$NEW_IDLE
echo 'CPU-Auslastung um' $NOW '=' $(( ((TOTAL - IDLE) * 100) / TOTAL )) '%'
# wenn's ganz genau geht, muesste man gelegentlich 1 Sekunde weniger warten
sleep $DELAY
done
das Format öfter mal mit einem neuen Kernel. Das Prinzip ist aber gleich.
Beware of programmers who carry screwdrivers.
-
- Beiträge: 106
- Registriert: 19.01.2006 16:14:28
-
- Beiträge: 106
- Registriert: 19.01.2006 16:14:28
hab eben mal reboot jetzt gehts bei mir auch. keine ahnung wo da der wurm drin war.
wie sieht das eigentlich aus bei server mit mehr als einer cpu? wir haben z.B. mehrere RX300S2 von FS im einsatz die haben 2 Xeon Cpu´s. Habe einen Screenshot im i-net gesehen wo der top dann 2 cpu auslastungen anzeigt. bei uns aber immer nur eine auslastung. debian erkennt auch aufjedenfall beide cpus. in /proc/cpuinfo sind 4 einträge , für 2 cpu´s mit je 2 kernen.
wie sieht das eigentlich aus bei server mit mehr als einer cpu? wir haben z.B. mehrere RX300S2 von FS im einsatz die haben 2 Xeon Cpu´s. Habe einen Screenshot im i-net gesehen wo der top dann 2 cpu auslastungen anzeigt. bei uns aber immer nur eine auslastung. debian erkennt auch aufjedenfall beide cpus. in /proc/cpuinfo sind 4 einträge , für 2 cpu´s mit je 2 kernen.
- meandtheshell
- Beiträge: 4054
- Registriert: 14.01.2005 17:51:30
- Du könntest munin verwenden http://www.debianforum.de/forum/viewtopic.php?t=71029
- nach dem aufruf von top kannst Du mit "I" in den Solaris bzw. Irix mode wechseln und alle Angaben/CPU sehen
-- Voraussetzung die Hardware ist ein Mehrweg und/oder multicore system
-- und der Kernel ist ein smp fähiges kernel binary
markus
- nach dem aufruf von top kannst Du mit "I" in den Solaris bzw. Irix mode wechseln und alle Angaben/CPU sehen
-- Voraussetzung die Hardware ist ein Mehrweg und/oder multicore system
-- und der Kernel ist ein smp fähiges kernel binary
markus