Bsd ps

From wikinotes

The BSD variation of the ps commandline utility.
Displays information about processes.

Usage

ps -aux     # print all processes

# all processes, sorted by memory usage (RSS)
ps -o pid,%cpu,%mem,rss,args -ax \
  | sort -rk3 \
  | less -S  

# top 20 memory usage, every 3s
while true; do
  ps -ax -o pid,jid,%cpu,%mem,rss,vsz,args \
    | sort -r -k4 \
    | head -n20 
  sleep 3 
done

Common Flags

# What to show
-a  # display other users' processes
-x  # include non-toplevel processes
-d  # show process trees

# Set Columns
ps -L                  # list avail columns
-o pid,%cpu,%mem,args  # set display columns


# Sorting
-m                # sort by memory usage

# Presets (sorting/columns)
-u                # sort by cpu, general info
-v                # sort by mem, print memory related

Useful display columns

args  # command + arguments used to start process
%cpu  # percentage of cpu use
%mem  # percentage of memory use
rss   # (resident-set-size kb) memory used by a process (excludes swap)
vsz   # (virtual-set-size kb) memory reserved/available for a process (includes swap, allocated+unused, etc) 
user  # user running process