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 | 보여줄 항목의 순서를 바꾼다. |
l | 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 안의 스크립트가 부팅시 자동으로 실행되도록 설정한다.