I don't know about any specific application for monitoring what you want in real time but I did find some information that might be helpful.
First heres a simple command to print this info ps -e -orss=,args= | sort -b -k1,1n | pr -TW$COLUMNS
(found here: http://www.linuxquestions.org/questions/linux-general-1/how-to-show-the-memory-usage-per-process-160181/)
Second here is some more info about scripts to do the same:
http://unixlive.editboard.com/t4-memory-usage-retrieval-on-linux-process-wise-and-general
and
http://unixlive.editboard.com/t5-how-much-ram-is-used-per-program
You could write your own script/program to meet your needs. The info you need is all updated in /proc/
in realtime, but you have to solve two problems:
- I doubt there is any one file listing all the processes and their memory usage in real time. Instead every process has it's own files (in
/proc/[pid]/
), and some of the potential files for finding this info are not human readable--although I suspect that statm
and status
have the necessary info and are both human readable.
- Displaying all this information in realtime. I know very little about bash scripting or programming but to display the information in realtime you would need to use something like a lot of
tail
commands with a pipe to sort/print only the desired information for each process.
Not really a complete answer, but hopefully this gives you some ideas of what you could try. Good luck!
htop
is thetop
alternative I use. Although it sounds like maybe you are looking for fewer but more specific features rather than more features?htop
is not what I'm looking for - because it shows other things (including CPU usage) that I already get fromtop
. I mean, I like htop no doubt (I've used it before), but it's not what I'm looking for in this case.