본문 바로가기

리눅스

리눅스 프로세스의 메모리 사용량을 확인하는 방법

반응형

리눅스 프로세스의 메모리 사용량을 확인하는 방법

프로세스 ID(PID) 확인

ps -ef | grep -v grep | grep ^named | awk {'print $2'}
  • ps -ef는 모든 프로세스를 나열하는 명령어입니다.
  • grep -v grep은 grep 명령어 자체를 제외한 결과를 표시합니다.
  • grep ^named은 "named" 프로세스로 시작하는 행만 선택합니다.
  • awk {'print $2'}는 선택된 행에서 두 번째 필드, 즉 PID를 출력합니다.
$ ps -ef | grep -v grep | grep ^named | awk {'print $2'}
887

프로세스의 메모리 정보(사용량) 확인

cat /proc/PID/status

cat /proc/887/status | grep "Name\|Vm"
  • /proc/PID/status 파일은 각 프로세스에 대한 상세한 정보를 포함합니다.
  • grep "Name\|Vm"은 "Name" 및 "Vm"이라는 단어를 포함한 행만 선택합니다. 이러한 행은 프로세스 이름과 메모리 사용량 정보를 제공합니다.
$ cat /proc/887/status | grep "Name\|Vm"
Name:	named
VmPeak:	  226184 kB
VmSize:	  168840 kB
VmLck:	       0 kB
VmPin:	       0 kB
VmHWM:	   58208 kB
VmRSS:	   58204 kB
VmData:	   96352 kB
VmStk:	     132 kB
VmExe:	     708 kB
VmLib:	   12324 kB
VmPTE:	     260 kB
VmSwap:	       0 kB
728x90

프로세스 정보의 필드 설명

  1. Name (프로세스 이름)
    • Name: 뒤에 나오는 부분은 해당 프로세스의 이름입니다. 위의 예에서는 "named"로 표시됩니다.
  2. VmPeak (최대 가상 메모리 크기)
    • VmPeak:는 프로세스가 사용한 최대 가상 메모리 크기입니다. 이 값은 킬로바이트(KB)로 표시됩니다.
  3. VmSize (가상 메모리 크기)
    • VmSize:는 현재 프로세스의 가상 메모리 크기입니다. 이 값은 킬로바이트(KB)로 표시됩니다.
  4. VmLck (락된 메모리 크기)
    • VmLck:는 락된 메모리 크기입니다. 락된 메모리는 일반적으로 잠겨 있는 메모리 영역을 나타내며, 이 값은 킬로바이트(KB)로 표시됩니다.
  5. VmPin (고정된 메모리 크기)
    • VmPin:은 고정된 메모리 크기입니다. 고정된 메모리는 일부 메모리 영역을 고정하는 데 사용됩니다. 이 값은 킬로바이트(KB)로 표시됩니다.
  6. VmHWM (최대 물리적 메모리 크기)
    • VmHWM:은 프로세스가 사용한 최대 물리적 메모리 크기입니다. 이 값은 킬로바이트(KB)로 표시됩니다.
  7. VmRSS (현재 물리적 메모리 크기)
    • VmRSS:는 현재 프로세스가 사용하는 물리적 메모리 크기입니다. 이 값은 킬로바이트(KB)로 표시됩니다.
  8. VmData (데이터 영역 크기)
    • VmData:는 프로세스의 데이터 영역의 크기를 나타냅니다. 이 값은 킬로바이트(KB)로 표시됩니다.
  9. VmStk (스택 크기)
    • VmStk:는 프로세스의 스택 영역의 크기를 나타냅니다. 이 값은 킬로바이트(KB)로 표시됩니다.
  10. VmExe (실행 코드 크기)
    • VmExe:는 실행 코드(바이너리 코드)의 크기를 나타냅니다. 이 값은 킬로바이트(KB)로 표시됩니다.
  11. VmLib (공유 라이브러리 크기)
    • VmLib:는 프로세스에서 사용하는 공유 라이브러리의 크기를 나타냅니다. 이 값은 킬로바이트(KB)로 표시됩니다.
  12. VmPTE (페이지 테이블 항목 크기)
    • VmPTE:는 페이지 테이블 항목의 크기를 나타냅니다. 이 값은 킬로바이트(KB)로 표시됩니다.
  13. VmSwap (스왑 영역 크기)
    • VmSwap:은 프로세스가 사용하는 스왑 영역의 크기를 나타냅니다. 이 값은 킬로바이트(KB)로 표시됩니다.

위의 단계를 통해 선택한 프로세스(여기서는 "named")의 PID를 찾고 해당 프로세스의 메모리 정보를 확인할 수 있습니다. 이러한 정보에는 프로세스 이름, 가상 메모리 사이즈 (VmSize), 물리적 메모리 사용량 (VmRSS), 페이지 파일 사용량 및 기타 정보가 포함될 수 있습니다.

 

참고URL

- Willslow : 리눅스 프로세스별 메모리 사용량 확인법

 

728x90
반응형