ps_mem é uma ferramenta para verificar o uso de memória central por programa no Linux. Funciona com Python 2 e 3 e, além do Python, não tem dependências.
Ao contrário de muitas outras ferramentas que relatam o uso de memória por processo, o ps_mem relata o uso de RAM dos programas. Por exemplo, mostra a quantidade de RAM usada por todos os processos do Chromium combinados. O desenvolvedor do programa observa que o nome ps_mem é usado para compatibilidade com versões anteriores, mas um nome mais preciso seria coremem.
A RAM exibida é calculada somando a soma da RAM privada e a soma da RAM compartilhada para os processos de um programa.
Executar ps_mem sem argumentos mostra uma lista de programas e seu uso de RAM em ordem ascendente (do menor uso de RAM para o maior). Para cada programa, mostra a RAM privada, compartilhada e total usada, bem como o número de processos. As informações de troca para cada programa também podem ser exibidas, usando a opção -S (sudo ps_mem -S
).
Esta é a saída ps_mem (cortada por ser muito longa):
logix@logix-desktop:~$ sudo ps_mem
Private + Shared = RAM used Program
192.0 KiB + 6.5 KiB = 198.5 KiB nvidia-persistenced
220.0 KiB + 9.5 KiB = 229.5 KiB vnstatd
232.0 KiB + 7.5 KiB = 239.5 KiB acpid
232.0 KiB + 18.5 KiB = 250.5 KiB atd
236.0 KiB + 41.5 KiB = 277.5 KiB blkmapd
..........................................................
35.3 MiB + 4.3 MiB = 39.6 MiB goa-daemon
52.3 MiB + 24.0 MiB = 76.3 MiB Xorg (2)
81.4 MiB + 13.7 MiB = 95.0 MiB systemd-journald
364.8 MiB + 26.0 MiB = 390.8 MiB gnome-shell (2)
1.2 GiB + 121.0 MiB = 1.3 GiB firefox-trunk (11)
---------------------------------
7.6 GiB
=================================
ps_mem também pode mostrar o uso de memória por processo, em vez de mostrá-lo por programa, usando-o com a opção -d (sudo ps_mem -d
).
A ferramenta permite filtrar os resultados por PID. Um exemplo de caso de uso útil é mostrado no PS_mem README - restringindo a saída do ps_mem para o usuário atual:
sudo ps_mem -p $(pgrep -d, -u $USER)
Estas são as opções suportadas pelo ps_mem:
$ ps_mem --help
Usage: ps_mem [OPTION]...
Show program core memory usage
-h, -help Show this help
-p [,pid2,...pidN] Only show memory usage PIDs in the specified list
-s, --split-args Show and separate by, all command line arguments
-t, --total Show only the total value
-d, --discriminate-by-pid Show by process rather than by program
-S, --swap Show swap information
-w Measure and show process memory every N seconds
ps_mem está disponível nos repositórios para Fedora, RHEL, CentOS e Arch Linux. Você pode instalá-lo usando o seguinte.
sudo dnf install ps_mem
sudo yum install ps_mem
sudo pacman -S ps_mem
Em outras distribuições Linux, como Debian, Ubuntu, etc., que não têm ps_mem nos repositórios, você pode baixar o script Python e instalá-lo em /usr/local/bin
usando:
wget https://raw.githubusercontent.com/pixelb/ps_mem/master/ps_mem.py
sudo install ps_mem.py /usr/local/bin/ps_mem
rm ps_mem.py
Você também pode instalar o ps_mem usando PIP (pip install ps_mem
).
Use-o executando sudo ps_mem
ou digite ps_mem --help
para ver as opções disponíveis.
via @m_wimpress
Esse post foi traduzido do site LinuxUprising.com pela rtland.team.
Confira a versão original desse post em inglês:
ps_mem Shows Per-Program Memory Usage On Linux