특정 사용자가 사용하는 메모리 양

특정 사용자가 사용하는 메모리 양

다중 사용자 Linux 시스템에서 얼마나 많은 메모리를 사용하고 있는지 알 수 있습니까? 내가 많은 메모리를 사용하고 잠재적으로 다른 사람에게 불편을 끼치고 있는지 알고 싶습니다. 필요한 경우 프로세스를 종료할 수 있습니다.

다른 질문에서 이 작업이 가능하다는 것을 보았지만 sa -m해당 서버에서 해당 명령에 액세스할 수 없는 것 같습니다.

편집하다:sudo 액세스 권한이 없어서 물건을 설치할 수 없습니다. 서버는 CentOS입니다.

답변1

ps다음과 함께 사용하여 awk사용자의 실제 메모리 사용량을 찾을 수 있습니다 .

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

root여기서는 출력에 사용된 메모리를 인쇄합니다 .

답변2

나는 smem이 귀하의 경우에 더 나은 도구라고 생각합니다.

smem을 설치하고 시도해 보세요

smem -uk

데비안을 사용하는 경우 다음을 사용하여 설치할 수 있습니다.

apt-get install smem 

서버에 아무것도 설치할 수 없는 경우 다음을 시도해 볼 수 있습니다.

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

$USER는 환경 변수이므로 설정할 필요가 없습니다.

관련 정보