Command organises ps output by rss
RSS stands for Resident Set Size
This is a actual number in kilobytes of how much RAM the current process is using.
ps -Fe --sort:-rss
ps -Fe --sort:-rss | head -11
ps --no-headers -o "rss,cmd" -C httpd | awk '{ sum+=$1 } END { printf ("\nRAM statistics\n--------------\n") } END { printf ("Total RAM: %d%s\n", sum/1024, "M") } END { printf ("Total processes: %d\n", NR) } END { printf ("Average RAM/process: %d%s\n", sum/NR/1024, "M\n") }'
-e = select all processes -F = full format --sort:-rss = sort the results by resident set size (real memory size in bytes)
Once you have the output of the command you will need to investigate the processes 'State'
State | Definition |
---|---|
D | uninterruptible sleep (usually IO) |
R | running or runnable (on run queue) |
S | interruptible sleep (waiting for an event to complete) |
T | stopped, either by a job control signal or because it is being traced |
X | dead (should never be seen) |
Z | defunct (“zombie”) process, terminated but not reaped by its parent |
< | 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 leader |
l | is multi-threaded (using CLONE_THREAD, like NPTL pthreads do) |
+ | is in the foreground process group |