Quanta memória um usuário específico está usando

8

É possível descobrir quanta memória estou usando em uma máquina Linux multiusuário? Quero saber se estou usando muita memória e possivelmente incomodando outras pessoas, para que eu possa desligar meus processos, se necessário.

Já vi em outra pergunta que sa -mpode fazê-lo, mas aparentemente não tenho acesso a esse comando neste servidor.

Edit: Eu não tenho acesso ao sudo, então não consigo instalar coisas. O servidor é o CentOS.

Hatshepsut
fonte
CentOS5, 6 ou 7?
Jsbillings
@jsbillings "CentOS release 5.11 (Final)"
Hatshepsut

Respostas:

13

Você pode usar psjunto com awkpara encontrar o uso da memória física por um usuário:

ps -U root --no-headers -o rss | awk '{ sum+=$1} END {print int(sum/1024) "MB"}'

Aqui, imprime a memória usada pela rootsaída.

coffeMug
fonte
1
Então, no meu caso, podemos usar a variável de ambiente sugerido por @Luciano: ps -U $USER --no-headers -o rss | awk '{ sum+=$1} END {print int(sum/1024) "MB"}'
Hatshepsut
1
Sim, exatamente! Mude rootpara qualquer usuário que você tenha no sistema.
coffemug
Estou executando o código de multiprocessamento, e este comando disse que estou usando 2 TB de RAM =)) enquanto meu computador possui apenas 200 GB de RAM.
32r34wgf3e
1

Eu acho que o smem é a melhor ferramenta no seu caso.

Instale o smem e tente

smem -uk

Se você estiver usando o debian, poderá instalá-lo usando:

apt-get install smem 

Se você não conseguir instalar nada no servidor, poderá tentar:

 ps haux | awk -v user=$USER '$1 ~ user { sum += $4} END { print user, sum; }'

Lembre-se de que $ USER é uma variável de ambiente, portanto você não precisa defini-la.

Luciano Andress Martini
fonte
Em que unidades estão os resultados - gigabytes? Na minha área de trabalho atual, executar esse comando retorna 76, o que é difícil de interpretar como GB (não tenho tanta memória RAM).
Hatshepsut
1
Se você está falando sobre o ps haux, está retornando o uso em porcentagem.
Luciano Andress Martini
Eu não tenho acesso a smem no servidor, mas no meu localhost eu recebo User Count Swap USS PSS RSS user 127 716.0M 11.1G 11.1G 11.9G
Hatshepsut
O outro comando retorna o uso em porcentagem.
Luciano Andress Martini 31/05