top 명령어란?
현재 OS의 상태를 모니터링하는 명령어로 메모리 사용량, CPU 사용량 등을 주기적으로 업데이트하며 실시간으로 상태를 보여주는 명령어
top - 15:11:11 up 56 days, 5:37, 1 user, load average: 0.32, 0.33, 0.62
Tasks: 22 total, 1 running, 21 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.5 us, 0.8 sy, 0.0 ni, 98.4 id, 0.2 wa, 0.0 hi, 0.0 si, 0.0 st
MiB Mem : 64277.6 total, 4430.3 free, 25119.7 used, 34727.7 buff/cache
MiB Swap: 16380.0 total, 11908.9 free, 4471.1 used. 25180.3 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1 root 20 0 191660 3448 1524 S 0.0 0.0 6:07.25 systemd
27 root 20 0 63992 21400 21264 S 0.0 0.0 0:42.66 systemd-journal
35 root 20 0 44060 1124 468 S 0.0 0.0 0:02.15 systemd-udevd
158 dbus 20 0 58244 1060 688 S 0.0 0.0 1:50.13 dbus-daemon
171 root 20 0 26624 1280 800 S 0.0 0.0 0:52.13 systemd-logind
172 root 20 0 260968 25528 1408 S 0.0 0.0 0:18.05 firewalld
324 root 20 0 113004 356 252 S 0.0 0.0 0:00.08 sshd
요약 영역
top의 상단 부분으로, 전체 프로세스가 OS에서 리소스를 어느 정도 차지하고 있는지 요약해서 보여줌
top - 15:11:11 up 56 days, 5:37, 1 user, load average: 0.32, 0.33, 0.62
Tasks: 22 total, 1 running, 21 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.5 us, 0.8 sy, 0.0 ni, 98.4 id, 0.2 wa, 0.0 hi, 0.0 si, 0.0 st
MiB Mem : 64277.6 total, 4430.3 free, 25119.7 used, 34727.7 buff/cache
MiB Swap: 16380.0 total, 11908.9 free, 4471.1 used. 25180.3 avail Mem
1번째 line
top - 15:11:11 up 56 days, 5:37, 1 user, load average: 0.32, 0.33, 0.62
- top: 현재 시스템의 시간
- up: 운영 중인 총 시간
- users: 접속 중인 사용자 수
- load average: R과 D 상태인 프로세스 개수를 1분, 5분, 15분 마다 평균 낸 값
- R (Running): CPU에서 실행되고 있거나 실행 대기 중인 상태
- D (Uninterruptible sleep): 디스크 또는 네트워크 I/O를 대기하는 상태
- 코어 수에 비례해 load average 값을 해석, 8코어 시스템에서 load average 값이 4라면 시스템이 절반 정도의 부하 상태에 있음을 의미
2번째 line
Tasks: 22 total, 1 running, 21 sleeping, 0 stopped, 0 zombie
- Tasks: 현재 프로세스들의 상태
- total: 전체
- running: 실행 중
- sleeping: 대기
- stopped: 정지
- zombie: 좀비 상태
3번째 line
%Cpu(s): 0.5 us, 0.8 sy, 0.0 ni, 98.4 id, 0.2 wa, 0.0 hi, 0.0 si, 0.0 st
- %cpu: CPU 사용률
- us (user): 프로세스의 사용자(user) 영역에서의 CPU 사용률
- sy (system): 시스템(kernel) 영역에서의 CPU 사용률
- ni (nice): 우선 순위를 가진 사용자 프로세스에서 CPU 사용률
- id (idle): 사용하고 있지 않는 CPU 비율
- wa (iowait): I/O가 완료되기를 기다리고 있는 CPU 비율
- hi (hardware interrupts): 하드웨어 인터럽트에 사용되는 CPU 사용률
- si (software interrupts): 소프트웨어 인터럽트에 사용되는 CPU 사용률
- st (steal time): CPU를 VM에서 사용하여 대기하는 CPU 비율
4,5번째 line
MiB Mem : 64277.6 total, 4430.3 free, 25119.7 used, 34727.7 buff/cache
MiB Swap: 16380.0 total, 11908.9 free, 4471.1 used. 25180.3 avail Mem
- Mem: 메모리 영역
- total: 전체 용량 (free, used, buff/cache의 총 합)
- free: 남아있는 용량
- used: 사용 중인 용량
- buff/cache: 버퍼 및 캐시로 사용 중
- Swap: Swap 영역 (디스크를 메모리처럼 사용)
- avail Mem: 시스템이 필요할 경우 즉시 사용할 수 있는 메모리
- 현재 사용 중인 캐시된 메모리나 버퍼가 포함될 수 있음
디테일 영역
top의 하단 부분으로, 각 프로세스 별로 리소스를 어느 정도 차지하고 있는지 보여줌
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1 root 20 0 191660 3448 1524 S 0.0 0.0 6:07.25 systemd
27 root 20 0 63992 21400 21264 S 0.0 0.0 0:42.66 systemd-journal
35 root 20 0 44060 1124 468 S 0.0 0.0 0:02.15 systemd-udevd
158 dbus 20 0 58244 1060 688 S 0.0 0.0 1:50.13 dbus-daemon
171 root 20 0 26624 1280 800 S 0.0 0.0 0:52.13 systemd-logind
172 root 20 0 260968 25528 1408 S 0.0 0.0 0:18.05 firewalld
324 root 20 0 113004 356 252 S 0.0 0.0 0:00.08 sshd
- PID: 프로세스 ID, 프로세스를 구분하기 위한 고유한 값
- USER: 해당 프로세스를 실행한 USER의 ID
- PR: 커널에 의해서 스케줄링되는 우선순위
- NI: PR에 영향을 주는 nice value
- 낮은 값일수록 높은 우선순위
- VIRT: 프로세스가 사용하는 총 메모리
- 물리적 메모리(RES), 스왑된 메모리(SWAP), 코드(CODE), 데이터 세그먼트(TEXT, DATA), 공유 라이브러리(LIBRARY), 프로세스에 매핑된 파일(MAPPED FILES)이 포함됨
- RES: 프로세스가 사용하고 있는 물리 메모리의 양
- SHR: 프로세스가 사용하고 있는 공유 메모리의 양
- S: 프로세스의 현재 상태
- %CPU: CPU 사용률
- %MEM: 메모리 사용률
- TIME+: 프로세스가 사용한 총 CPU 시간
- COMMAND: 프로세스가 실행한 명령
top 커맨드
기본 커맨드
- u: 특정 사용자 이름을 기준으로 필터링
- k: PID 입력해서 프로세스 종료
- q: 종료
- h: 도움말
출력 포맷
- shift + e: 총 메모리 사용량 단위 변경
- e: 프로세스 단위 변경
- 1 : CPU 코어 별 사용량
- f: 출력 필드 수정
정렬
- shift + p: CPU 사용률을 기준으로 정렬
- shift + m: 메모리 사용률을 기준으로 정렬
- shift + n: 프로세스 ID를 기준으로 정렬
- shift + t: 프로세스가 사용한 총 CPU 시간을 기준으로 정렬
- shift + r: 오름차순 또는 내림차순으로 변경
'Linux' 카테고리의 다른 글
[Linux] df, du 명령어 (디스크 사용량) (0) | 2024.09.13 |
---|---|
[Linux] free 명령어 (메모리 상태) (0) | 2024.09.13 |
[Linux] ps 명령어 (프로세스 상태) (1) | 2024.09.04 |
[Linux] watch, head, tail 명령어 (0) | 2024.09.03 |
[Linux] date 명령어 (0) | 2024.09.03 |