본문 바로가기

서버 관리/리눅스

프로세스 관리 - ps, top

[1. 개요]

htop 이라는 유틸을 이용하면 좀 더 편하게 시스템을 모니터링 할 수 있지만,

이 유틸을 설치 할 수 없는 경우, 

 

build-in 된 유틸을 사용해서 모니터링 해야 한다.

주로 ps 와 top 을 사용한다.

 

이 두가지 유틸의 적당한 사용 방법등을 정리한다.


[2. 프로세스 상태]

먼저 프로세스의 상태가 어떻게 표현되는지 먼저 정리한다.

  1. R
    => Running, 현재 실행 중
  2. S
    => Sleep, 현재 block 중
  3. D
    => I/O 가 끝나기를 기다리는 상태
  4. Z
    => Zombie 프로세스
  5. T
    => Stopped

이외에도 몇가지 상태가 더 있다고는 하는데, 크게 중요하지 않아 보인다.

R, S, D 만 잘 파악하도록 한다.


[3. 기타 필드 값 의미]

  1. %CPU
  2. %MEM
  3. VSZ / VIRT
    => 가상 메모리 사용량
  4. RSS / RES
    => 물리 메모리 사용량
  5. SHR
    => 공유메모리 사용량
  6. SIZE
    => Swap 메모리 사용량
  7. TIME
    => CPU 사용 시간,

[4. ps 사용 옵션]

현재 실행 중 인 모든 프로세스 확인

  1. ps -ef
    => e: 모든 프로세스 정보
    => f: full format, UID, PID, PPID, ...
  2. ps aux
    => a: 현재 로그인 한 유저의 모든 프로세스 출력
    => u: 프로세스 사용자 이름 출력
    => x: 현재 사용자 외 모든 프로세스, (커널 프로세스...)

현재 실행 중인 모든 프로세스를 물리메모리 사용량 순으로 정렬

(rss, pcpu, ...)

  • ps aux --sort -rss
    => 물리 메모리를 가장 많이 사용하는 순서로 정렬
  • ps aux --sort rss
    => 물리 메모리를 가장 적게 사용하는 순서로 정렬

현재 실행 중인 모든 프로세스 정보를 특정 형식으로 출력
=> pid, ppid, rss, cmd 형태로 출력

  • ps ax -o pid,ppid,rss,cmd
    => 옵션 o 를 통해 출력 형식을 지정한다.

[4. top]

 

'서버 관리 > 리눅스' 카테고리의 다른 글

shell script 정리  (0) 2023.04.17
jq 명령어  (0) 2023.02.05
커널 매개변수  (0) 2023.02.04
메모리 관리  (0) 2022.12.28
프로세스 관리 - crontab  (0) 2022.12.28