Descubra a memória total alocada para um processo específico no Ubuntu

13

Como posso descobrir a memória total alocada para um processo específico no Ubuntu?

    
por Anjali 22.08.2014 / 07:13

3 respostas

12

Tente:

pidof bash | xargs ps -o rss,sz,vsz

Para encontrar o uso de memória do seu atual bash shell (supondo que você esteja usando bash ). Altere bash para o que você está investigando. Se você estiver após um processo específico, basta usar por conta própria:

ps -o rss,sz,vsz <process id>

Da página man :

RSS : tamanho do conjunto residente, a memória física não trocada que uma tarefa utilizou (em kiloBytes).

SZ : tamanho em páginas físicas da imagem principal do processo. Isso inclui texto, dados e espaço de pilha.

VSZ : tamanho da memória virtual do processo em KiB (unidades de 1024 bytes).

A página man para ps listará todos os argumentos possíveis para a opção -o (há muito poucos para escolher). Em vez de -o rss,sz , você pode usar a opção v do estilo BSD (sem traço), que mostra um layout de memória alternativo.

    
por 22.08.2014 / 07:48
5

Você pode usar pmap , que mostra o mapa de memória de um processo:

pmap -p pid

Para mais informações, veja a página de manual man pmap ou dê uma olhada no pmap (1): report memory map do processo - página man do Linux .

    
por 22.08.2014 / 10:04
0

how to find out the total memory allocated for a particular process in ubuntu?

Você não define qual é a memória alocada para um processo, e na verdade essa é uma questão bem complexa (o que acontece com mapeamentos de memória compartilhada - veja mmap (2) para detalhes; e sobre a memória compartilhada POSIX - veja shm_overview(7) para mais, e sobre algumas páginas no cache de páginas usado para arquivos abertos; etc ...)

Você pode usar o sistema de arquivos /proc/ (cujo BTW é usado por ps , pmap , top , htop etc ....). Leia proc (5) para saber mais. Em particular para o processo de pid 1234 você poderia usar /proc/1234/status , /proc/1234/statm , /proc/1234/maps etc ... Eles são todos pseudo-arquivos textuais (um pouco como pipes) que você pode ver com cat (ou ler < em> sequencialmente dentro de algum programa). BTW, de dentro de um programa você pode usar /proc/self (que é um pseudo link simbólico), por exemplo leia sequencialmente /proc/self/status etc ...

Veja também LinuxAteMyRam .

    
por 21.08.2017 / 10:03