System Monitor and top reporting wildly different memory usage
Lately, while browsing, I often get that the computer comes to a crawl. At the same time I notice memory consumptions of close to 90% by programs/ 10% as cache as indicated by the System Monitor applet in my panel.
Trying to find out which program is slowing down my computer I issue the top
command in the terminal, but adding the numbers in the MEM% column there doesn't even come close to 20%.
- What is the cause of this discrepancy?
- What is the correct way to do I find out which program is consuming exessive amounts of memory?
I don't know if this is helpfull information, but for reference, the output of free -m
is:
total used free shared buffers cached
Mem: 2993 2935 57 0 3 369
-/+ buffers/cache: 2563 429
Swap: 5809 1514 4295
Solution 1:
By default, top
does not sort by memory usage, but CPU usage. If you're manually adding everything up, you may miss some memory hogs programs which use almost no CPU.
To sort by memory usage, press Shift + F followed by n. Press any other key to return to the overview.
The system monitor panel calculates the memory used, minus buffers and cache, without swap.
- Total RAM: 2993
- RAM in use (without buffers and cache cache): 2563
2563 / 2993 = 86%
Your computer became slow because it began to swap. Try upgrading your RAM for better performance. The money is well worth it.
Solution 2:
I think top sorts processes by CPU usage, and obviously not all of them fit on the screen. Run 'ps aux', to get the list of all processes, then scroll up and down to see memory usage. Another way is to use htop (install it from the Software Center), then hit f6 to sort and select to sort by MEM%.
Solution 3:
BUMP: I have the same problem. Also, for some reason my memory usage is not being recorded via gnome-system-monitor
; I get flat lines, while my memory usage is at a constant 96% and up via panel-applet.
I found my most accurate depiction, with my presumed result for identifying the memory hog by installing and using htop
. Then I pressed F6 and selected Mem%
to have it sort by memory usage. Again, my hog
was a service for nexpose
, which I rarely use, so I'm removing it from start-up with update-rc.d *