본문 바로가기
카테고리 없음

Linux top command option 사용법과 예시

by lazyautoman 2023. 2. 19.

1. top command

top 명령은 프로세스 및 시스템 리소스 사용량에 대한 실시간 정보를 표시하는 데 사용됩니다. 일반적으로 시스템 성능을 모니터링하고 너무 많은 리소스를 소비하는 프로세스를 식별하는 데 사용됩니다. 다음은 top 명령의 출력 예입니다.

 

top - 10:53:20 up 1 day,  2:35,  2 users,  load average: 0.50, 0.41, 0.35
Tasks: 156 total,   1 running, 155 sleeping,   0 stopped,   0 zombie
%Cpu(s):  4.5 us,  1.3 sy,  0.0 ni, 94.2 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
MiB Mem :  1983.3 total,   586.9 free,   584.7 used,   811.6 buff/cache
MiB Swap:  2048.0 total,  2048.0 free,     0.0 used.  1166.1 avail Mem 

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND                                                                         
 1752 root      20   0  418380  30708  16896 S   4.6   1.5   1:17.41 Xorg                                                                            
 3315 user1     20   0 1601488 128936  51288 S   1.3   6.3   5:14.27 gnome-shell                                                                     
 2363 user2     20   0  986896  62328  41696 S   0.7   3.1   1:49.13 gnome-terminal-                                                                 
 2524 user3     20   0  522848  42184  25608 S   0.3   2.1   0:16.19 lxterminal                                                                      
 3437 user4     20   0 1376324  61364  44196 S   0.3   3.0   0:26.56 firefox                                                                         
    1 root      20   0  168496   7420   5148 S   0.0   0.4   0:03.71 systemd                                                                         
    2 root      20   0       0      0      0 S   0.0   0.0   0:00.01 kthreadd                                                                        
    3 root      20   0       0      0      0 S   0.0   0.0   0:00.09 ksoftirqd/0

 

출력의 각 섹션에 대한 설명은 다음과 같습니다.

 

(1) top: 이것은 실행되고 있는 프로그램의 이름입니다.
(2) 10:53:20 up 1 day, 2:35, 2 users, load average: 0.50, 0.41, 0.35: 이 줄은 시스템 가동 시간, 현재 로그인한 사용자 수, 시스템 부하 평균(즉, 실행 대기 중인 프로세스 수 측정).

(3) `Tasks: 156 total, 1 running , 155 sleeping , 0 stopped,  0 zombie`: 이 줄은 시스템의 총 프로세스 수와 현재 실행 중, 잠자기, 중지 또는 좀비 수를 표시합니다.

(4) %Cpu(s): 4.5 us, 1.3 sy, 0.0 ni, 94.2 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st: 이 줄은 CPU 사용량에 대한 정보를 제공합니다. 백분율은 사용자 프로세스(us), 시스템 프로세스(sy), 사용자 정의 우선 순위가 있는 프로세스(ni), 유휴 프로세스(id), I/O 완료를 기다리는 프로세스(wa ), 하드웨어 인터럽트(hi), 소프트웨어 인터럽트(si) 및 도난 시간(st).

(5) MiB Mem: 1983.3 total, 586.9 free, 584.7 used, 811.6 buff/cache: 이 줄은 메모리 사용량에 대한 정보를 제공합니다. 총 메모리 양(1983.3MiB), 사용 가능한 메모리 양(586.9MiB), 사용된 메모리 양(584.7MiB), 버퍼 및 캐시에 사용 중인 메모리 양(811.6MiB)을 보여줍니다.

(6) MiB Swap: 총 2048.0, free 2048.0, 0.0 used. 1166.1 avail Mem: 이 줄은 스왑 공간 사용량에 대한 정보를 제공합니다. 스왑 공간의 총량(2048.0MiB), 사용 가능한 스왑 공간의 양(2048.0MiB), 사용된 스왑 공간의 양(0.0MiB) 및 사용 가능한 메모리의 양(1166.1MiB)을 보여줍니다.

(7) PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND: 이 줄은 프로세스 목록의 열 제목을 보여줍니다. 이 열에는 프로세스 ID(PID), 프로세스를 시작한 사용자(USER), 프로세스 우선 순위(PR), 좋은 값(NI), 가상 메모리 사용량(VIRT), 상주 메모리 사용량(RES), 공유 메모리 사용량(SHR), 프로세스 상태(S), 사용 중인 CPU 시간의 백분율(%CPU), 사용 중인 물리적 메모리의 백분율(%MEM), 프로세스에서 사용하는 CPU 시간의 양(TIME+ ) 및 실행 중인 명령의 이름(COMMAND).

(8) 1752 root 20 0 418380 30708 16896 S 4.6 1.5 1:17.41 Xorg: 이 줄은 특정 프로세스에 대한 정보를 보여줍니다. 이 경우 프로세스 ID는 1752, 프로세스를 시작한 사용자는 루트, 프로세스 우선 순위는 20, nice 값은 0, 가상 메모리 사용량은 418380킬로바이트, 상주 메모리 사용량은 30708킬로바이트, 공유 메모리는 사용량은 16896킬로바이트, 프로세스 상태는 S(수면 중임을 의미), 사용 중인 CPU 시간의 백분율은 4.6%, 사용 중인 물리적 메모리의 백분율은 1.5%, 프로세스에서 사용하는 CPU 시간의 양은 1분 17.41초이며 실행 중인 명령의 이름은 Xorg입니다.

(9) 나머지 줄은 시스템에서 실행 중인 다른 프로세스에 대한 정보를 사용 중인 CPU 시간별로 정렬하여 표시합니다.

 

top 명령은 또한 다른 열로 정렬, 새로 고침 빈도 변경 및 필터링과 같은 출력을 조작할 수 있는 여러 대화형 명령을 제공합니다.

 

2. top command option

다음은 예제 출력과 함께 top 명령의 몇 가지 주요 옵션 및 기능입니다.

 

(1) -d <delay>: -d 옵션은 업데이트 사이의 지연을 초 단위로 지정합니다. 예를 들어 top -d 5는 5초마다 디스플레이를 업데이트합니다.

 

top -d 5 - 10:14:57 up 3 days, 23:43,  1 user,  load average: 0.54, 0.34, 0.27
Tasks: 265 total,   2 running, 262 sleeping,   0 stopped,   1 zombie
%Cpu(s):  4.5 us,  1.3 sy,  0.0 ni, 94.2 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
MiB Mem :  1983.3 total,   586.9 free,   584.7 used,   811.6 buff/cache
MiB Swap:  2048.0 total,  2048.0 free,     0.0 used

 

(2) -b: -b 옵션은 일괄 처리 모드에서 실행되며, 이는 디스플레이를 대화식으로 업데이트하지 않음을 의미합니다. 대신 시스템 정보의 단일 스냅샷을 표준 출력에 쓰고 종료합니다.

 

top -b -n 1

top - 10:14:57 up 3 days, 23:43,  1 user,  load average: 0.54, 0.34, 0.27
Tasks: 265 total,   2 running, 262 sleeping,   0 stopped,   1 zombie
%Cpu(s):  4.5 us,  1.3 sy,  0.0 ni, 94.2 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
MiB Mem :  1983.3 total,   586.9 free,   584.7 used,   811.6 buff/cache
MiB Swap:  2048.0 total,  2048.0 free,     0.0 used.

 

(3) -n <iterations>: -n 옵션은 top이 종료되기 전에 실행할 반복 횟수를 지정합니다. 예를 들어 top -n 5는 종료하기 전에 5번의 반복 동안 top을 실행합니다.

 

top -n 5 - 10:14:57 up 3 days, 23:43,  1 user,  load average: 0.54, 0.34, 0.27
Tasks: 265 total,   2 running, 262 sleeping,   0 stopped,   1 zombie
%Cpu(s):  4.5 us,  1.3 sy,  0.0 ni, 94.2 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
MiB Mem :  1983.3 total,   586.9 free,   584.7 used,   811.6 buff/cache
MiB Swap:  2048.0 total,  2048.0 free,     0.0 used.

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND
 1752 root      20   0  418380  30708  16896 S   4.6   1.5   1:17.41 Xorg
 1947 user      20   0 4485588 411772  92200 S   2.6  20.5  26:07.25 gnome-shell
 1975 user      20   0 5060996 771236 152044 S   2.3  38.4  17:10.17 firefox
 1861 user      20   0  871784 145036  81180 S   1.6   7.2   9:45.19 gnome-terminal-
 1149 root      20   0       0      0      0 I   0.3   0.0   0:25.35 kworker/u17:2-k

... (output repeats for five iterations)

 

(4) -p: -p 옵션을 사용하면 쉼표로 구분된 프로세스 ID(PID)를 지정하여 특정 프로세스를 모니터링할 수 있습니다. 

 

top -p 1234,5678

top - 10:34:57 up 3 days, 23:43,  1 user,  load average: 0.54, 0.34, 0.27
Tasks: 346 total,   1 running, 345 sleeping,   0 stopped,   0 zombie
%Cpu(s):  2.7 us,  0.7 sy,  0.0 ni, 96.6 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
MiB Mem :  1983.3 total,   577.6 free,   601.3 used,   804.3 buff/cache
MiB Swap:  2048.0 total,  2048.0 free,     0.0 used.

  PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND
 1234 user      20   0 4756040 679284 134244 S  1.0 34.2  28:03.53 chrome
 5678 user      20   0  239800  29012  21424 S  0.7  1.5   0:12.32 gnome-terminal

 

이 예에서 top은 PID가 1234(Google Chrome) 및 5678(GNOME 터미널)인 프로세스만 모니터링합니다. 출력에는 이전과 동일한 열이 표시되지만 지정된 프로세스에 대해서만 표시됩니다.

 

(5) -H: -H 옵션은 프로세스 대신 스레드를 표시합니다. -u와 함께 사용하면 지정된 사용자의 스레드만 표시

 

top -H -u user

top - 10:14:57 up 3 days, 23:43,  1 user,  load average: 0.54, 0.34, 0.27
Threads: 506 total,   2 running, 503 sleeping,   0 stopped,   1 zombie
%Cpu(s):  4.5 us,  1.3 sy,  0.0 ni, 94.2 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
MiB Mem :  1983.3 total,   586.9 free,   584.7 used,   811.6 buff/cache
MiB Swap:  2048.0 total,  2048.0 free,     0.0 used.

  PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND
 1975 user      20   0 5060996 771236 152044 S  2.3 38.4  17:10.17 firefox
 1979 user      20   0 5060996 771236 152044 S  1.7 38.4   9:04.20 firefox
 1976 user      20   0 5060996 771236 152044 S  1.7 38.4   8:34.43 firefox

 

 

댓글