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
댓글