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

6

É possível descobrir quanta memória estou usando em uma máquina linux multiusuário? Eu quero saber se estou usando muita memória e possivelmente incomodando os outros, para que eu possa desligar meus processos, se necessário.

Eu vi em outra pergunta que sa -m pode fazer isso, mas aparentemente não tenho acesso a esse comando neste servidor.

Editar: não tenho acesso ao sudo, por isso não consigo instalar coisas. O servidor é o CentOS.

    
por Hatshepsut 31.05.2016 / 21:35

2 respostas

9

Você pode usar ps junto com awk para encontrar o uso de memória física de 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 por root na saída.

    
por 31.05.2016 / 22:33
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, você pode instalá-lo usando:

apt-get install smem 

Se você não conseguir instalar nada no servidor, pode 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.

    
por 31.05.2016 / 21:46

Tags