Why does memory usage shown in System Monitor differ from that in ps_mem?

I came to Ubuntu 16.04 from Mint 17.3 (and Ubuntu Mate 15.10), and I'm shocked with the memory usage of Ubuntu 16.04.

With a clean install, 16.04 used about 650+ Mb RAM, and after 1 or 2 days, after when I've installed most need apps for regular usage, 16.04 uses ~ 1GB at idle, and climbs to 1.5GB only with 4 or 5 chrome tabs.

Then I use a terminal tool to check for memory ( I use ps_mem here) - and the memory here is significantly lower than which showed in System Monitor:

Memory with no apps

Memory with 5 chrome tabs opended

So, my questions are:

  1. Which tool shows the right memory usage: System Monitor or ps_mem?
  2. Why is Ubuntu 16.04 using so much memory?

You can run free -m to check memory usage:

Pc_mem show the actual memory usage(used col) but gnome system monitor shows the usage of (buffer/cache - used) according to this answer.
But i find that equation is changed with system monitor 3.18.2 to

(1-(used/total))*100 or (1-(used/available))*100.


I am not sure what exactly ps_mem shows but gnome system monitor is right and ubuntu 16.04 has memory problems. I have ubuntu 16.04 on three different PC and on each machine RAM usage is quite high, near 1.5 Gb (i mean ram usage after boot and no additional programs ran). On ubuntu 15.10 RAM usage was about 700Mb. The only thing I found is this bug report which confirms such bug. I hope canonical will fix it.


I monitor memory usage by application using htop

sudo apt-get update
sudo apt-get install htop

then run by

htop

to get this output:

enter image description here

The controls are intuitive enough that I use it with F6SortBy to decide whether I am more interested in memory or CPU%


Here is an article that shows more advanced ways to use htop

Top on Steroids – 15 Practical Linux HTOP Examples