This is a simple oneliner that I wrote so that I could quicly get an overview of the counts of each process.
Too many TASK_UNINTERRUPTIBLE processes can cause significant Disk Utilization.
21:05 Mac Shell: processcount.sh/>$ process=( R S D K T Z X ) &&
> state=(
> "(running)"
> "(sleeping)"
> "(sleeping)"
> "(sleeping)"
> "(stopped)"
> "(zombie)"
> "(zombie)"
> ) &&
> process_name=(
> TASK_RUNNING
> TASK_INTERRUPTIBLE
> TASK_UNINTERRUPTIBLE
> TASK_KILLABLE
> TASK_STOPPED/TRACED
> EXIT_ZOMBIE EDIT_DEAD
> ) &&
> counter=0 &&
> for i in "${process[@]}"; do
> [[ "$counter" == "0" ]] &&
> w | head -n 1;
> printf "%s\t%d\t%s\t%s\n" \
> "$i" \
> "$(ps -ev | \
> awk '{print $2}' | \
> grep -w "$i" -c)" \
> "${state[$counter]}" \
> "${process_name[$counter]}";
> ((counter++))
> done;
21:05 up 3 days, 12:15, 3 users, load averages: 1.12 1.27 1.31
R 1 (running) TASK_RUNNING
S 170 (sleeping) TASK_INTERRUPTIBLE
D 0 (sleeping) TASK_UNINTERRUPTIBLE
K 0 (sleeping) TASK_KILLABLE
T 0 (stopped) TASK_STOPPED/TRACED
Z 0 (zombie) EXIT_ZOMBIE
X 0 (zombie) EDIT_DEAD
21:05 Mac Shell: processcount.sh/>$