Hallo, ich würde gerne die CPU-Last meines Linux-Servers mit einem Shell-Skript auslesen. Wie komme ich an User-, System-, Nice- und Idle-Load ran? Viele Grüße Bastian
Hi Bastian,
ich würde gerne die CPU-Last meines Linux-Servers mit einem Shell-Skript auslesen. Wie komme ich an User-, System-, Nice- und Idle-Load ran? top gibt Dir alle Werte an. Die kannst Du auch sicher irgendiwe da raus holen.
Gruß Can -- ___________________________________________________________________ Can-Carlo Dörtbudak Registered Linux User #314644 www.doertbudak.de ___________________________________________________________________
* Bastian Schern schrieb:
Hallo,
ich würde gerne die CPU-Last meines Linux-Servers mit einem Shell-Skript auslesen. Wie komme ich an User-, System-, Nice- und Idle-Load ran?
/usr/bin/top -n 1 | grep ... oder/ und cut, awk ... cat /proc/cpuinfo | grep ... cat /proc/loadavg | grep ... cat /proc/loadavg | cut -b 1-5 | sed 's/\.// Gruss Ekkard
Hallo Bastian, hallo Leute, Am Sonntag, 2. Januar 2005 03:11 schrieb Bastian Schern:
ich würde gerne die CPU-Last meines Linux-Servers mit einem Shell-Skript auslesen. Wie komme ich an User-, System-, Nice- und Idle-Load ran?
Aus /proc/loadavg auslesen oder top -n1 -b | head -n5 auswerten. Gruß Christian Boltz -- Spätestens dabei handelt es sich um Filtereffekte, die ImageMagick bestimmt nicht beherrschen kann. Sollten sie _das_ nachprogrammiert haben, würde ich barfuß hinlaufen und ihnen ein halbes Schwein opfern ob ihrer Genialität. [Ratti in suse-linux]
Christian Boltz schrieb:
Hallo Bastian, hallo Leute,
Am Sonntag, 2. Januar 2005 03:11 schrieb Bastian Schern:
ich würde gerne die CPU-Last meines Linux-Servers mit einem Shell-Skript auslesen. Wie komme ich an User-, System-, Nice- und Idle-Load ran?
Aus /proc/loadavg auslesen oder top -n1 -b | head -n5 auswerten.
Vielen Dank für die vielen Anregungen. Ich habe das jetzt so implementiert: SYS_INFO=$(top -n 1 -b | head -n 5) TASKS_RUNNING=$(echo "$SYS_INFO" | head -n 2 | tail -n 1 | \ awk '{print $4}' | sed -e 's/\%//') TASKS_SLEEPING=$(echo "$SYS_INFO" | head -n 2 | tail -n 1 | \ awk '{print $6}' | sed -e 's/\%//') TASKS_STOPPED=$(echo "$SYS_INFO" | head -n 2 | tail -n 1 | \ awk '{print $8}' | sed -e 's/\%//') TASKS_ZOMBIE=$(echo "$SYS_INFO" | head -n 2 | tail -n 1 | \ awk '{print $10}' | sed -e 's/\%//') CPU_USER=$(echo "$SYS_INFO" | head -n 3 | tail -n 1 | \ awk '{print $2}' | sed -e 's/\%//') CPU_SYS=$(echo "$SYS_INFO" | head -n 3 | tail -n 1 | \ awk '{print $4}' | sed -e 's/\%//') CPU_NICE=$(echo "$SYS_INFO" | head -n 3 | tail -n 1 | \ awk '{print $6}' | sed -e 's/\%//') CPU_IDLE=$(echo "$SYS_INFO" | head -n 3 | tail -n 1 | \ awk '{print $8}' | sed -e 's/\%//') Geht das vielleicht auch einfacher? Viele Grüße Bastian
Am Montag, 3. Januar 2005 10:04 schrieb Bastian Schern:
Aus /proc/loadavg auslesen oder top -n1 -b | head -n5 auswerten.
Vielen Dank für die vielen Anregungen. Ich habe das jetzt so implementiert:
SYS_INFO=$(top -n 1 -b | head -n 5) [TASKS]
[CPU]
Geht das vielleicht auch einfacher?
bei den zwei Ausgaben (die anderen gehen sicher analog) TEMP=`echo "$SYS_INFO" | head -n2 | tail -n1` TASKS=( ${TEMP//[^[:digit:]]/ } ) TEMP=`echo "$SYS_INFO" | head -n3 | tail -n1` CPU=( ${TEMP//[^[:digit:]^.]/ } ) jetzt hast Du 2 Arrays (TASKS und CPU) und hier stehen die einzelnen Werte drin. Auf die einzelnen Werte kannst Du dann z.B. mit ${CPU[i]} zugreifen Gruss Andreas
Christian Boltz schrieb:
Hallo Bastian, hallo Leute,
Am Sonntag, 2. Januar 2005 03:11 schrieb Bastian Schern:
ich würde gerne die CPU-Last meines Linux-Servers mit einem Shell-Skript auslesen. Wie komme ich an User-, System-, Nice- und Idle-Load ran?
Aus /proc/loadavg auslesen oder top -n1 -b | head -n5 auswerten.
Leider hat die Ausgabe von top auszulesen ein riesengroßes Problem: Die Werte des ersten screens sind immer die selben. Kann man top das irgendwie austreiben? Bastian
Bastian Schern schrieb:
Christian Boltz schrieb:
Hallo Bastian, hallo Leute,
Am Sonntag, 2. Januar 2005 03:11 schrieb Bastian Schern:
ich würde gerne die CPU-Last meines Linux-Servers mit einem Shell-Skript auslesen. Wie komme ich an User-, System-, Nice- und Idle-Load ran?
Aus /proc/loadavg auslesen oder top -n1 -b | head -n5 auswerten.
Leider hat die Ausgabe von top auszulesen ein riesengroßes Problem: Die Werte des ersten screens sind immer die selben.
Kann man top das irgendwie austreiben?
Oder, wie kommt top an die Werte?
participants (5)
-
Andreas Loesch
-
Bastian Schern
-
Can-Carlo Dörtbudak
-
Christian Boltz
-
Ekkard Gerlach