#!/bin/sh # ncpu_file="/tmp/ncpu" # if [ -f $ncpu_file ]; then # ncpu=$(cat $ncpu_file) # else # ncpu=$(sysctl -n hw.ncpu | tee $ncpu_file) # fi printf " " # for i in $(top -P -d 2 -s 0.2 | grep '^CPU' | tail -n$ncpu | sed '{s/% idle$//;s/.*[[:blank:]]//;s/\..*//;s/^/100 - /;}' | bc); do stats=$(top -d 2 -s 0.2 | grep -E 'load averages:|^CPU') printf "%s " "$(echo "$stats" | sed '{1,2d;4d;s/.*averages: *//;s/,.*//;}')" case $(echo "$stats" | sed '{1,3d;s/% idle$//;s/.*[[:blank:]]//;s/\..*//;s/^/(100 - /;s/$/) \/ 12\.5/;}' | bc) in "0") printf "[ ]\n";; "1") printf "[= ]\n";; "2") printf "[== ]\n";; "3") printf "[=== ]\n";; "4") printf "[==== ]\n";; "5") printf "[===== ]\n";; "6") printf "[====== ]\n";; "7") printf "[======= ]\n";; "8") printf "[========]\n";; esac