Não conheço nenhum aplicativo específico para monitorar o que você deseja em tempo real, mas encontrei algumas informações que podem ser úteis.
Primeiro, veja um comando simples para imprimir essas informações ps -e -orss=,args= | sort -b -k1,1n | pr -TW$COLUMNS
(encontradas aqui: http://www.linuxquestions.org/questions/linux-general-1/how-to-show-the-memory-usage-per-process-160181/ )
Segundo, aqui estão mais algumas informações sobre scripts para fazer o mesmo:
http://unixlive.editboard.com/t4-memory-usage-retrieval-on-linux-process-wise-and-general
e
http://unixlive.editboard.com/t5-how-much-ram-is-used-per-program
Você pode escrever seu próprio script / programa para atender às suas necessidades. As informações necessárias são todas atualizadas em /proc/
tempo real, mas é necessário resolver dois problemas:
- Duvido que exista algum arquivo listando todos os processos e o uso de memória em tempo real. Em vez disso, todo processo possui seus próprios arquivos (in
/proc/[pid]/
), e alguns dos arquivos em potencial para encontrar essas informações não são legíveis por humanos - embora eu suspeite disso statm
e status
tenham as informações necessárias e sejam legíveis por humanos.
- Exibindo todas essas informações em tempo real. Eu sei muito pouco sobre scripts ou programação do bash, mas para exibir as informações em tempo real, você precisará usar vários
tail
comandos com um pipe para classificar / imprimir apenas as informações desejadas para cada processo.
Não é realmente uma resposta completa, mas espero que isso lhe dê algumas idéias do que você poderia tentar. Boa sorte!