ps_mem Shows Programs RAM Usage in Linux

There are several ways to see how much RAM is used in a Linux system with tools like free, vmstat, top, etc…, but today I’ve come across ps_mem which displays the RAM used for each program in a neat way.

ps_memThe post on lintut.com explains how to install it on Centos / Fedora:


As a Ubuntu user, I immediately tried apt-get install ps_mem, but there isn’t such package. After running apt-file search, I found it in w3af-console package:


Another way to install the script is to simply get it from Github.

Running the command without options will list of programs with RAM usage from the smallest to the largest:


You can also check the full command line for the programs:

sudo ps_mem -s
Private + Shared = RAM used Program

4.0 KiB + 31.5 KiB = 35.5 KiB /sbin/getty -8 38400 tty5
4.0 KiB + 32.0 KiB = 36.0 KiB /sbin/getty -8 38400 tty3
4.0 KiB + 32.0 KiB = 36.0 KiB /sbin/getty -8 38400 tty1
4.0 KiB + 32.5 KiB = 36.5 KiB /sbin/getty -8 38400 tty2
4.0 KiB + 33.0 KiB = 37.0 KiB /sbin/getty -8 38400 tty6
4.0 KiB + 33.0 KiB = 37.0 KiB /sbin/getty -8 38400 tty4
4.0 KiB + 33.0 KiB = 37.0 KiB /usr/sbin/inetutils-inetd
............
155.9 MiB + 4.3 MiB = 160.2 MiB gimp-2.8
186.3 MiB + 9.3 MiB = 195.6 MiB /usr/lib/firefox/plugin-container /usr/lib/flashplugin-installer/libflashplayer.so -greomni /usr/lib/firefox/omni.ja -appomni /usr/lib/firefox/browser/omni.ja -appdir /usr/lib/firefox/browser 3746 true plugin
265.0 MiB + 9.4 MiB = 274.4 MiB compiz
343.2 MiB + 2.8 MiB = 346.0 MiB /usr/lib/thunderbird/thunderbird
352.5 MiB + 28.0 MiB = 380.5 MiB /usr/bin/X -core :0 -seat seat0 -auth /var/run/lightdm/root/:0 -nolisten tcp vt7 -novtswitch
366.7 MiB + 18.6 MiB = 385.3 MiB nautilus -n
2.2 GiB + 9.3 MiB = 2.3 GiB /usr/lib/firefox/firefox
---------------------------------
4.9 GiB
=================================

If you are only interested in one or more program, add the PID list to the command line:


Finally, if you want to update the memory usage values every X seconds run:


You can also combine it with a PID list, if you only want to track one or more programs.

Via Radenko Bogdanovic

Share this:

Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress

Radxa Orion O6 Armv9 mini-ITX motherboard
Subscribe
Notify of
guest
The comment form collects your name, email and content to allow us keep track of the comments placed on the website. Please read and accept our website Terms and Privacy Policy to post a comment.
6 Comments
oldest
newest
baoboa
baoboa
9 years ago

didn’t know this , thank for the tip

M
M
9 years ago

nice… it’s literally a few kb python script though so installing the package is a bit overkill (on ubuntu etc)

wget https://github.com/pixelb/ps_mem/raw/master/ps_mem.py
sudo python ps_mem.py

@lex
@lex
9 years ago

ps_mem reports 771.1 MiB and htop 867 MB ?! Perhaps 771 Miga Bytes = 867 Mega Bytes. 🙂 Ubuntu 10.04

maurer
maurer
9 years ago

great utility !
thanks

Falcon1
Falcon1
9 years ago

@@lex
That would be Mebi Byte but
771MiB = 808452096 Bytes = 808 MB. Still too short.

1MiB = 1024×1024 Bytes
1MB = 1000×1000 Bytes

Yeah calculating memory usage for a program is very hard. Just as hard as disk usage in BTRFS.

Virtual memory Real memory
Share memory can’t be assigned to a single process. It’s shared.
ZRAM,ZCAHCE,etc.
etc. etc.

@lex
@lex
9 years ago

@Falcon1
You are right, this makes sense.

Boardcon Rockchip RK3588S SBC with 8K, WiFI 6, 4G LTE, NVME SSD, HDMI 2.1...