ps aux output meaning
$ ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
timothy 29217 0.0 0.0 11916 4560 pts/21 S+ 08:15 0:00 pine
root 29505 0.0 0.0 38196 2728 ? Ss Mar07 0:00 sshd: can [priv]
can 29529 0.0 0.0 38332 1904 ? S Mar07 0:00 sshd: can@notty
- USER = user owning the process
- PID = process ID of the process
- %CPU = It is the CPU time used divided by the time the process has been running.
- %MEM = ratio of the process’s resident set size to the physical memory on the machine
- VSZ = virtual memory usage of entire process (in KiB)
- RSS = resident set size, the non-swapped physical memory that a task has used (in KiB)
- TTY = controlling tty (terminal)
- STAT = multi-character process state
- START = starting time or date of the process
- TIME = cumulative CPU time
- COMMAND = command with all its arguments
See the ps man page for more info.
This might be helpful:
Process State Codes (STAT):
R
running or runnable (on run queue)D
uninterruptible sleep (usually IO)S
interruptible sleep (waiting for an event to complete)Z
defunct/zombie, terminated but not reaped by its parentT
stopped, either by a job control signal or because it is being traced
Some extra modifiers:
<
high-priority (not nice to other users)N
low-priority (nice to other users)L
has pages locked into memory (for real-time and custom IO)s
is a session leaderl
is multi-threaded (using CLONE_THREAD, like NPTL pthreads do)+
is in the foreground process group
In Linux the command:
ps -aux
Means show all processes for all users. You might be wondering what the x means? The x is a specifier that means 'any of the users'. So you could type this:
ps -auroot
Which displays all the root processes, or
ps -auel
which displays all the processes from user el. The technobabble in the 'man ps' page is: "ps -aux prints all processes owned by a user named 'x' as well as printing all processes that would be selected by the -a option.