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:
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
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!