본문 바로가기

리눅스-기초명령어/프로세스 관리

top, htop

  top명령어는 시스템의 프로세스, 메모리 사용 상태 등을 실시간으로 확인하는 명령어이다.(윈도우 작업관리자의 프로세스와 비슷한 기능이다.)

 

top - 10:06:19 up 34 min,  1 user,  load average: 0.08, 0.05, 0.10
Tasks: 343 total,   1 running, 342 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.1 us,  0.7 sy,  0.0 ni, 98.9 id,  0.0 wa,  0.2 hi,  0.1 si,  0.0 st
MiB Mem :  10219.9 total,   7878.3 free,   1580.1 used,   1044.2 buff/cache
MiB Swap:   5304.0 total,   5304.0 free,      0.0 used.   8639.8 avail Mem

    PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND                         
  8586 gha-0001  20   0 4449060 203036 114556 S   4.7   1.9   0:08.90 gnome-shell                     
  8384 root      20   0  226132   4348   3364 R   0.3   0.1   0:00.06 top                  
      1 root      20   0  172176  16064  10212 S   0.0   0.2   0:02.16 systemd  

      2 root      20   0       0      0      0 S   0.0   0.0   0:00.06 kthreadd 
      3 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 rcu_gp           

  상단의 ‘터미널’에서 현재 몇개의 프로세스가 작동중인지와 하단에서 프로세스들의 상세한 스테이터스를 볼 수 있으며 s 칸은 STAT항목으로 현재 프로세스가 어떠한 상태인지 간략하게 볼 수 있다.

 

프로세스 상태를 나타내는 STAT 항목 

항목 설명
R(Running) 실행중
S(Sleeping) 중지될 수 있는 수면상태. 특정 이벤트가 끝나기를 기다리는중
D(Uninterruptible sleep) 중지될 수 없는 수면상태. 입출력 신호를 기다리는중 
T(Stopped) 중지됨
Z(Zombie) 종료되었지만 프로세스에 남아있는 상태



top의 주요 항목

 

항목 설명
PID Process ID
USER 소유자
PR Priority(우선순위)
NI Nice Value(-20~19 사이의 값으로 작을수록 우선순위가 높다.)
VIRT 작업에 의해 사용된 가상 메모리의 총 사용량
RES 프로세스가 사용하는 실제 메모리의 양(Resident Size)
SHR 프로세스가 사용하는 공유 메모리의 양
S 현재 프로세스의 상태를 나타냄
%CPU CPU 사용량(퍼센트)
%MEM 메모리 사용량(퍼센트)
TIME+ 프로세스가 시작하여 사용한 총 CPU 시간 (1/100초 단위까지 표시)
COMMAND 프로세스를 실행한 명령

 

사용법

top [옵션]

 

옵션

옵션 설명
-d {갱신시간} 갱신 시간을 설정한다.{초 단위}
-p {pid} 특정 PID값을 갖는 프로세스를 모니터링할 때 사용한다.
-b 배치 모드(Batch mode)로 실행하는 옵션으로 다른 프로그램이나 
파일에 전송할 때 사용된다. 보통 -n 옵션과 같이 실행한다.
-n {값} top 명령의 실행 횟수를 지정하는 옵션이다.

 

top 실행상태에서의 명령어  *(자주 사용하는 명령)

항목 설명
[Space Bar] 화면을 갱신한다.
h, ? 도움말을 출력한다.
k kill 명령을 내린다. PID값을 입력하면 종료 신호를 보낸다.
i Zombie, idle 프로세스의 출력을 on/off 한다.
n, # 출력하는 프로세스의 수를 지정한다.
q top명령을 종료한다.
r Nice 값을 변경한다.
s 화면을 갱신하는 시간을 변경한다.(기본값은 5초)
F, f 보여줄 항목을 추가하거나 삭제한다.
O, o 보여줄 항목의 순서를 바꾼다.
top의 맨 윗줄(uptime)을 on/off 한다.
m 메모리의 관련된 항목을 on/off 한다.
t 프로세스와 CPU 항목을 on/off 한다.
c Command line의 옵션을 on/off한다.
M 프로세스의 RSS 값을 정렬한다.
P %CPU 값을 정렬(기본값)한다.
T Time 값으로 정렬한다.
W 바꾼 설정을 저장한다.

*추가 명령

I irix mode. 코어 개수로 cpu사용량을 나눈다.
(정확한 프로세스 사용량을 보여준다.)

 

ps 명령과 top의 차이

ps 명령은 명령어를 입력한 순간의 프로세스 상태를 정적인 형태로 보여준다.

top는 시스템 활동을 실시간으로 확인 할 수 있다.(지속적으로 갱신)

 

 

htop

추가패키지 epel 설치

[root@Linux ~]#dnf install epel-release

다운로드

[root@Linux ~]# dnf install htop -y 

 

top과 비슷하지만 터미널에서 실행되는 모니터링도구라는 차이점이있다.

직관적이며 보기 편하다는 장점이있다.

 

시스템 부팅시 동작하도록 할 때 서비스 파일을 생성하여 

shell 안의 스크립트가 부팅시 자동으로 실행되도록 설정한다.

'리눅스-기초명령어 > 프로세스 관리' 카테고리의 다른 글

w  (1) 2023.08.31
pgrep  (0) 2023.08.31
kill 명령어  (0) 2023.08.31
jobs, bg, fg  (1) 2023.08.31
ps  (0) 2023.08.31