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