최근에 내 서버에 연결된 사용자당 RAM 사용량을 확인하고 싶었지만 방법을 찾을 수 없었습니다. 어떤 방법을 제안해주세요.
답변1
어때?
ps aux | grep $USER | awk '{memory +=$4}; END {print memory }'
ps aux
: BSD 구문을 사용하여 시스템의 모든 프로세스를 확인합니다.$USER
현재 사용자입니다. 다른 사람이 필요하면 실제 이름으로 변경하세요.
이제 마법 같은 부분을 살펴보겠습니다.
- awk는 memory라는 변수를 생성하고 출력의 열 4를 추가하며
ps auxU $USER
, 종료되면 계산된 양을 인쇄합니다.
추가: 그래픽 방식.
smem은 Linux 시스템의 메모리 사용량에 대한 수많은 보고서를 제공할 수 있는 도구입니다. 기존 도구와 달리 smem은 가상 메모리 시스템의 라이브러리와 애플리케이션이 사용하는 메모리 양을 보다 의미 있게 나타내는 PSS(Proportional Set Size)를 보고할 수 있습니다.
물리적 메모리의 많은 부분이 일반적으로 여러 애플리케이션에서 공유되기 때문에 RSS(Resident Set Size)로 알려진 메모리 사용량의 표준 측정은 메모리 사용량을 상당히 과대평가합니다. 대신 PSS는 각 공유 영역에 대한 각 응용 프로그램의 "공정한 점유율"을 측정하여 현실적인 측정값을 제공합니다.
smem에는 많은 기능이 있습니다:
시스템 개요 목록 프로세스별 목록, 매핑, 프로세스별 사용자 필터링, 매핑 또는 여러 데이터 소스의 사용자 구성 가능 열 구성 가능한 출력 단위 및 백분율 구성 가능한 헤더 및 합계 /proc에서 실시간 데이터 읽기 디렉토리 미러 또는 압축된 타르볼에서 데이터 스냅샷 읽기 경량 캡처 임베디드 시스템 내장 차트 생성 도구 smem에는 몇 가지 요구 사항이 있습니다.
- 합리적으로 현대적인 커널(> 2.6.27 정도)
- 비교적 최신 버전의 Python(2.4 정도)
- 차트 생성을 위한 matplotlib 라이브러리(선택 사항, 자동 감지)
smem 사용
- 사용자 중심 보기 표시:
smem -u
(자세한 내용은 링크에서)'
설치: