ps_mem Is a tool for checking the core memory usage of each program on Linux. It works with Python 2 and 3 and has no dependencies other than Python. ps_mem reports the RAM usage of a program, unlike many other tools that report the memory usage of each process. For example, it shows how much RAM is used by all Chromium processes in total. Program developers notice that the ps_mem name is used for backward compatibility, but the more accurate name is coremem.
The RAM shown is obtained by adding the sum of the dedicated RAM to the sum of the shared RAM processed by the program.
Running ps_mem without any parameters will display the listing program and its RAM usage in ascending order (from the lowest RAM usage to the highest RAM). For each program, it shows how much RAM is dedicated, shared, and total used, as well as the number of processes. By using the -S option, the exchange information of each program can also be displayed (
sudo ps_mem -S).
This is the output of ps_mem (trimmed because it is long):
[email protected]:~$ sudo ps_mem Private + Shared = RAM used Program 192.0 KiB + 6.5 KiB = 198.5 KiB nvidia-persistenced 220.0 KiB + 9.5 KiB = 229.5 KiB vnstatd 232.0 KiB + 7.5 KiB = 239.5 KiB acpid 232.0 KiB + 18.5 KiB = 250.5 KiB atd 236.0 KiB + 41.5 KiB = 277.5 KiB blkmapd .......................................................... 35.3 MiB + 4.3 MiB = 39.6 MiB goa-daemon 52.3 MiB + 24.0 MiB = 76.3 MiB Xorg (2) 81.4 MiB + 13.7 MiB = 95.0 MiB systemd-journald 364.8 MiB + 26.0 MiB = 390.8 MiB gnome-shell (2) 1.2 GiB + 121.0 MiB = 1.3 GiB firefox-trunk (11) --------------------------------- 7.6 GiB =================================
ps_mem can also display the memory usage of each process instead of displaying it programmatically by using it with the -d option (
sudo ps_mem -d).
The tool allows filtering results by PID. An example of a useful use case is shown in the ps_mem readme-limiting ps_mem output to the current user:
sudo ps_mem -p $(pgrep -d, -u $USER)
These are the options supported by ps_mem:
$ ps_mem --help Usage: ps_mem [OPTION]... Show program core memory usage -h, -help Show this help -p [,pid2,...pidN] Only show memory usage PIDs in the specified list -s, --split-args Show and separate by, all command line arguments -t, --total Show only the total value -d, --discriminate-by-pid Show by process rather than by program -S, --swap Show swap information -w Measure and show process memory every N seconds
ps_mem is available in repositories for Fedora, RHEL, CentOS, and Arch Linux. You can install it using the following methods.
sudo dnf install ps_mem
CentOS / RHEL:
sudo yum install ps_mem
sudo pacman -S ps_mem
wget https://raw.githubusercontent.com/pixelb/ps_mem/master/ps_mem.py sudo install ps_mem.py /usr/local/bin/ps_mem rm ps_mem.py