The topic wording still says “1.2 MB” which I assume is just a typo and should say “1.2 GB”.
Aside from that, yes I agree some people do complain about memory usage only because memory usage is a confusing topic and different tools will measure and report different memory-related metrics. And regular users who aren’t computer scientists often don’t know the difference between them.
In the screenshot above, the number 646M
shown by htop
is indeed the amount of physical memory in use for the entire system. If you look at the list in the same screenshot though you will see only 140M
of that is from /usr/bin/gnome-she
(which I assume is “gnome-shell”). However those numbers are both RSS (resident set sizes) and so may change according to how busy the overall system is, even if gnome-shell itself doesn’t allocate anything new.
I think a more stable and accurate measurement of memory allocated by the program actually can be found in /proc/PID/status
as VmData
. But regardless of what tools you use, it’s important to avoid the beginner’s mistake of judging a program by its virtual size. A virtual size (VIRT
in htop
/top
, or VSZ
in ps
) is not a measurement of memory used, but a measurement of virtual address space allocated. Indeed if anyone measures system impact using VIRT
or VSZ
then they are mistaken.
That all said, you also can’t judge a program by its RSS (RES
) either (140M
in the screenshot) because the kernel is entitled to trim that down to zero at any point, which is not an indication of a more efficient program. It would only indicate that the overall machine is running out of memory.
There lays the real problem… all of htop
, top
and ps
by default report the two metrics that are not accurate measurements of program performance. So of course many people are going to get muddled. To actually measure what a program is doing you need to look more closely at /proc/PID/status
or elsewhere (like decoding /proc/PID/stat
or /proc/PID/maps
).