User Tools

Site Tools


ram_diagnostics

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

Find the ram usage of a specific service:
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") }'


Description
-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
ram_diagnostics.txt · Last modified: 2024/05/23 07:26 by 127.0.0.1