Linux => Konsole => top => 1. Ausgabenzeile immer gleich

Status
Für weitere Antworten geschlossen.

peterhoffmann

Benutzer
Sehr erfahren
Mitglied seit
17. Dez 2014
Beiträge
5.525
Punkte für Reaktionen
1.360
Punkte
234
Hallo,

ich wollte mir mit einem Script Werte aus "top" auslesen. Das klappt auch, aber die Werte, z.B. in der Reihe mit dem Anfang "%Cpu(s)" sind bei jeder Ausgabe gleich.

Rich (BBCode):
top -n 1 | grep '%Cpu(s):'
Egal wie oft ich das ausführe, es kommt immer:
Rich (BBCode):
root@DS216+ $ top -n 1 | grep '%Cpu(s):'
%Cpu(s):  1.4 us,  1.7 sy,  0.0 ni, 96.5 id,  0.4 wa,  0.0 hi,  0.0 si,  0.0 st
root@DS216+ $ top -n 1 | grep '%Cpu(s):'
%Cpu(s):  1.4 us,  1.7 sy,  0.0 ni, 96.5 id,  0.4 wa,  0.0 hi,  0.0 si,  0.0 st
root@DS216+ $ top -n 1 | grep '%Cpu(s):'
%Cpu(s):  1.4 us,  1.7 sy,  0.0 ni, 96.5 id,  0.4 wa,  0.0 hi,  0.0 si,  0.0 st
root@DS216+ $ top -n 1 | grep '%Cpu(s):'
%Cpu(s):  1.4 us,  1.7 sy,  0.0 ni, 96.5 id,  0.4 wa,  0.0 hi,  0.0 si,  0.0 st
root@DS216+ $ top -n 1 | grep '%Cpu(s):'
%Cpu(s):  1.4 us,  1.7 sy,  0.0 ni, 96.5 id,  0.4 wa,  0.0 hi,  0.0 si,  0.0 st
root@DS216+ $ top -n 1 | grep '%Cpu(s):'
%Cpu(s):  1.4 us,  1.7 sy,  0.0 ni, 96.5 id,  0.4 wa,  0.0 hi,  0.0 si,  0.0 st
root@DS216+ $ top -n 1 | grep '%Cpu(s):'
%Cpu(s):  1.4 us,  1.7 sy,  0.0 ni, 96.5 id,  0.4 wa,  0.0 hi,  0.0 si,  0.0 st

Wenn ich den Wert für die Anzahl der Ausgaben (-n) z.B. auf 5 setze, ist die erste Ausgabe wie vorher immer gleich, die zweite bis fünfte Ausgabe immer verschieden (wie es ja sein sollte).
Rich (BBCode):
root@DS216+ $ top -n 5 | grep '%Cpu(s):'
%Cpu(s):  1.4 us,  1.7 sy,  0.0 ni, 96.5 id,  0.4 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu(s):  3.3 us,  4.9 sy,  0.0 ni, 91.5 id,  0.0 wa,  0.0 hi,  0.3 si,  0.0 st
%Cpu(s):  5.9 us,  7.6 sy,  0.0 ni, 85.9 id,  0.7 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu(s):  3.3 us,  4.6 sy,  0.0 ni, 92.1 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu(s):  2.6 us,  4.0 sy,  0.0 ni, 93.4 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
root@DS216+ $ top -n 5 | grep '%Cpu(s):'
%Cpu(s):  1.4 us,  1.7 sy,  0.0 ni, 96.5 id,  0.4 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu(s):  3.3 us,  5.2 sy,  0.0 ni, 91.5 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu(s):  3.3 us,  4.3 sy,  0.0 ni, 92.4 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu(s):  3.3 us,  4.6 sy,  0.0 ni, 92.1 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu(s):  6.2 us,  6.6 sy,  0.0 ni, 86.2 id,  1.0 wa,  0.0 hi,  0.0 si,  0.0 st
root@DS216+ $ top -n 5 | grep '%Cpu(s):'
%Cpu(s):  1.4 us,  1.7 sy,  0.0 ni, 96.5 id,  0.4 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu(s):  5.3 us,  7.2 sy,  0.0 ni, 86.8 id,  0.3 wa,  0.0 hi,  0.3 si,  0.0 st
%Cpu(s):  3.3 us,  5.3 sy,  0.0 ni, 91.4 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu(s):  3.9 us,  4.6 sy,  0.0 ni, 91.5 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu(s):  3.3 us,  3.9 sy,  0.0 ni, 92.8 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
Die jeweils 1. Ausgabe habe ich rot markiert. Sie ist wie oben immer gleich. Die 2. bis 5. Ausgabe wiederum sind völlig verschieden (wie man es bei der 1. Ausgabe auch erwarten würde).

Mache ich einen Fehler oder hat "top" hier einen Bug?
Wie sieht bei euch die Ausgabe von
Rich (BBCode):
top -n 1 | grep '%Cpu(s):'
aus, wenn ihr das mehrmals nacheinander ausführt?
 

BigRonin

Benutzer
Mitglied seit
08. Mai 2015
Beiträge
1.156
Punkte für Reaktionen
129
Punkte
89
Das ist kein Bug. Du musst top mindestens mit -n 2 aufrufen und den zweiten Aufruf / Wert benutzen. Der Grund liegt dadrin das der CPU-Load über die differenz von von 2 Aufrufen gebildet wird. Es sind also immer mindestens 2 Aufrufe notwendig.
 

peterhoffmann

Benutzer
Sehr erfahren
Mitglied seit
17. Dez 2014
Beiträge
5.525
Punkte für Reaktionen
1.360
Punkte
234
Oh... die 1. Ausgabe ist dann etwas unglücklich, aber es macht natürlich Sinn.

Danke für die Aufklärung.
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat