I'm trying to measure the memory of a process that I call via the command line (i.e., I want to find out much CPU/RAM the process takes). Is there any command that I can add to the command calling the process that will achieve this?

  • 2
    simple answser is htop, isntall it by sudo apt-get install htop btw this is a dupe of a question just haven't got the time to find it now...
    – Alvar
    May 7, 2013 at 21:57

2 Answers 2



Example of firefox. Find the PID:

ps -aux | grep -i firefox

Then you can use top -p pid:

top -p  3845

enter image description here


You can also use ps command, firefox pid is 3845

$ ps -p 3845 -o %cpu,%mem,cmd
11.1  3.7 /usr/lib/firefox/firefox

I am not satisfied with the above mentioned commands, and I found something that you should be interested in.


sudo apt-get install monit -y

Edit the Monit Config File

sudo nano /etc/monit/monitrc

Enable the web interface

set httpd port 2812
# use address localhost # only accept connection from localhost
allow localhost # allow localhost to connect to the server and
# allow # allow any host on 192.168.1.* subnet
allow admin:monit # require user 'admin' with password 'monit'

Checking process every 2 secons

## Start Monit in the background (run as a daemon):
set daemon 120 to only 2  # check process every 2 sec

Example Firefox

In the end copy paste the following command

check process firefox
matching "firefox"

Save and Exit

Check your syntax

Fix any problems found – it’s not too tough to figure out what’s going on.

sudo monit -t

Start (or restart) Monit

sudo service monit start

Visit the web interface

http://localhost:2812 if you’re running Ubuntu Desktop, or

Sign in with your admin:monit credentials

enter image description here

Click on Firefox

enter image description here


You can also use these links for help and modify your process.


You can also configure an alert if firefox uses more than 250 MB of ram

check process firefox
matching "firefox"
if totalmem > 250.0 MB for 1 cycles then alert

enter image description here

enter image description here

You can also execute command

if totalmem > 250.0 MB for 1 cycles then exec "path to script"

You can also make a script of Notify-Send

/usr/bin/notify-send firefox "More Than 250 MB OF RAM"

enter image description here


The GNU time command can print the maximum resident set size used by a command. You do have to make sure to use the /usr/bin/time command, not the Bash Shell built-in time keyword.

For an example to measure the firefox command:

/usr/bin/time --format="Size:%MK  Cpu:%P  Elapsed:%e" firefox &

After using firefox a while, I close it out to get the report:

Size:168644K  Cpu:30%  Elapsed:226.34

While it is possible to use the TIME environment variable to set the default format I've found it more flexible to set up individual bash aliases with specific formats. So for the above I would add to my ~/.bash_aliases file:

alias ztm="/usr/bin/time --format=\"Size:%MK  Cpu:%P  Elapsed:%e\""

So that from my Bash Shell I could just enter:

ztm firefox &


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .