Archiv verlassen und diese Seite im Standarddesign anzeigen : ausgabe von top mit grep rausfiltern
Hey!
Ich würde ganz gern einige Ausgaben von
top per grep mir stündlich abrufen:
Tasks running,
Mem free,
Swap free,
Top3-Prozesse mit höchster CPU Beanspruchung...
Eine Überlegung wäre: Ich pipe die ausgabe von top in ne datei und kann nun darauf "greppen" - find ich aber nicht so prickelnd weil muss ja auch direkt irgendwie gehen, oder?
Dann fehlt mir ne Idee wegen der Top3 Geschichte... Theoretisch ist es einfach weil sich die Top3 immer in Zeile 8 bis 10 befinden. Aber wie kann ich denn grep ne zeilenposition zuordnen?
Danke im voraus für ideen, anregungen etc.
P.S. Kann mir jemand sagen wie sich der load average zusammensetzt? Meiner sieht so aus: load average: 0.43, 0.60, 0.56
Also bin nun mit Hilfe von Googke soweit:
top -n 1 > temp.txt
grep Tasks temp.txt
grep Mem temp.txt
grep Swap temp.txt
sed -n '8,10p' < temp.txt //meine Top3-Prozesse
Damit wär ich ja schonmal jeweils in der richtigen Zeile... Fehlt nur noch das leidige regexp zum rausschneiden der exakten Werte...
Kann mir da jemand vielleicht helfen???
Wenn ich obige Kommandos bei mir eingebe erscheint:
Tasks: 141 total, 1 running, 140 sleeping, 0 stopped, 0 zombie
Mem: 2066996k total, 2006344k used, 60652k free, 81020k buffers
Swap: 13271320k total, 0k used, 13271320k free, 1472584k cached
3780 username 15 0 127m 39m 25m S 4 1.9 16:57.34 amarokapp
1 root 15 0 740 288 240 S 0 0.0 0:01.40 init
2 root 10 -5 0 0 0 S 0 0.0 0:00.00 kthreadd
Jemand ne Idee bzgl. der regexp??? :confused:
Roger Wilco
29.06.08, 15:33
Tasks running,
# Anzahl Prozesse gesamt
ps --no-heading -e|wc -l
# Anzahl Prozesse running
ps -e -o s|grep -c R
# Anzahl Prozesse sleeping
ps -e -o s|grep -c S
Mem free,
Swap free
free
Top3-Prozesse mit höchster CPU Beanspruchung...
ps -e -o c,uid,gid,cmd --no-heading|sort -nr|head -n3
P.S. Kann mir jemand sagen wie sich der load average zusammensetzt? Meiner sieht so aus: load average: 0.43, 0.60, 0.56
http://www.teamquest.com/resources/gunther/display/5/index.htm
# Anzahl Prozesse running
ps -e -o s|grep -c R
Funzt super! :)
free
Jetzt hab ich genauso viele Infos wie in meiner Zeile von
grep Mem temp.txt
Ich brauch aber doch nur die Zahl! Oder im Bsp. von free halt die dritte spalte...
ps -e -o c,uid,gid,cmd --no-heading|sort -nr|head -n3
Das gleiche! Ich brauch den Prozessnamen... Bei:
sed -n '8,10p' < temp.txt
also die letzte spalte...
Nur wie bekomme ich das hin???
Veierabend
29.06.08, 16:51
Nur wie bekomme ich das hin???
Mit ner Pipe und awk
free | grep Mem | awk '{print $3}'
$x steht dabei für die Spalte, die ausgegeben werden soll.
Supi! Was es alles gibt!!! :)
@nicht das ich rumnörgeln will aber als zeichen das ich wenigstens aufpasse: es muss $4 heissen - die 3 is used und nicht free! ;)
Veierabend
29.06.08, 17:06
Ich brauch aber doch nur die Zahl! Oder im Bsp. von free halt die dritte spalte...
:p
*10Zeichen*
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.