728x90
top 명령어
top 명령어는 리눅스와 UNIX 기반 운영 체제에서 시스템의 상태와 프로세스의 성능을 실시간으로 모니터링하는 유용한 명령어입니다.
top 명령어의 구문
top [옵션]
- 주요 옵션
- -d [초] : 화면 갱신 간격을 설정합니다. 초당 업데이트 간격을 지정합니다. 예: top -d 5는 5초마다 업데이트합니다.
- -p [PID] : 특정 프로세스의 상세 정보만 표시합니다. 예: top -p 1234는 PID가 1234인 프로세스만 표시합니다.
- -n [표시할 프로세스 수] : 화면에 표시할 프로세스 수를 제한합니다. 예: top -n 10는 상위 10개 프로세스만 표시합니다.
- q : top을 종료합니다.
- h : 도움말을 표시합니다.
top
top - 15:32:31 up 37 days, 20:37, 1 user, load average: 0.14, 0.08, 0.13
Tasks: 184 total, 1 running, 144 sleeping, 0 stopped, 0 zombie
%Cpu(s): 5.4 us, 1.0 sy, 0.0 ni, 92.1 id, 0.0 wa, 0.0 hi, 0.0 si, 1.5 st
KiB Mem : 3977792 total, 155060 free, 3432588 used, 390144 buff/cache
KiB Swap: 0 total, 0 free, 0 used. 299728 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1520 chrony 20 0 43552 19636 11632 S 4.3 0.5 340:27.26 postgres
1337 ec2-ins+ 20 0 296740 54412 3800 S 4.0 1.4 346:26.32 gitlab-exporter
20025 ec2-ins+ 20 0 1824904 973172 6396 S 2.3 24.5 1314:30 bundle
32733 rngd 20 0 82164 10628 2712 S 2.3 0.3 661:49.28 redis-server
641 ec2-ins+ 20 0 923636 687996 4976 S 0.3 17.3 7:55.81 bundle
1339 rngd 20 0 1170376 12116 4384 S 0.3 0.3 13:34.34 redis_exporter
1350 992 20 0 4337512 239680 19664 S 0.3 6.0 344:53.51 prometheus
top 필드 설명
top - 15:32:31 up 37 days, 20:37, 1 user, load average: 0.14, 0.08, 0.13
Tasks: 184 total, 1 running, 144 sleeping, 0 stopped, 0 zombie
%Cpu(s): 5.4 us, 1.0 sy, 0.0 ni, 92.1 id, 0.0 wa, 0.0 hi, 0.0 si, 1.5 st
KiB Mem : 3977792 total, 155060 free, 3432588 used, 390144 buff/cache
KiB Swap: 0 total, 0 free, 0 used. 299728 avail Mem
- 1 Line
- 15:32:31 : 현재 시간을 나타냅니다. 시, 분, 초 순서로 표시됩니다.
- up 37 days, 20:37 : 시스템의 부팅 시간을 나타냅니다. 시스템이 부팅된 후 경과한 시간이며, "일", "시간:분" 형식으로 표시됩니다.
- 1 user : 현재 로그인한 사용자 수를 나타냅니다.
- load average: 0.14, 0.08, 0.13 : 시스템 부하 평균값을 나타냅니다. 각 숫자는 1, 5 및 15 분 동안의 평균 부하를 나타냅니다. 일반적으로 부하가 증가하면 시스템이 혼잡하거나 과부하 상태에 있음을 나타냅니다.
- 2 Line
- Tasks : 시스템에서 실행 중인 작업의 정보를 보여줍니다. "total"은 총 작업 수를 나타내며, "running"은 실행 중인 작업 수, "sleeping"은 대기 중인 작업 수, "stopped"는 중지된 작업 수, "zombie"는 좀비 프로세스 수를 나타냅니다.
- 3 Line
- %Cpu(s) : CPU 사용량을 백분율로 표시합니다. "us"는 사용자 모드에서 CPU 사용량, "sy"는 시스템 모드에서 CPU 사용량, "ni"는 nice 값에 따라 조정된 CPU 사용량, "id"는 유휴 CPU 백분율, "wa"는 대기 중인 I/O 연산의 CPU 사용량, "hi"는 하드웨어 인터럽트 CPU 사용량, "si"는 소프트웨어 인터럽트 CPU 사용량, "st"는 스틸 시간(가상화 환경에서 사용)을 나타냅니다.
- 4 Line
- KiB Mem : 시스템 메모리 (RAM) 사용 정보를 표시합니다. "total"은 총 메모리 크기, "free"는 사용 가능한 메모리, "used"는 사용 중인 메모리, "buff/cache"는 버퍼와 캐시에 사용되는 메모리 양을 나타냅니다.
- 5 Line
- KiB Swap : 스왑 메모리 사용 정보를 표시합니다. "total"은 총 스왑 메모리 크기, "free"는 사용 가능한 스왑 메모리, "used"는 사용 중인 스왑 메모리, "avail Mem"는 사용 가능한 물리적 메모리 양을 나타냅니다.
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
20025 ec2-ins+ 20 0 1824904 999428 5272 S 10.0 25.1 1314:39 bundle
1520 chrony 20 0 43552 19520 11516 S 4.0 0.5 340:28.61 postgres
1337 ec2-ins+ 20 0 296740 53820 3316 S 3.7 1.4 346:27.72 gitlab-exporter
32733 rngd 20 0 82164 10304 2452 S 3.0 0.3 661:52.09 redis-server
1350 992 20 0 4337512 240776 17488 S 1.7 6.1 344:55.28 prometheus
- PID (Process ID): 프로세스의 고유한 식별자인 프로세스 ID입니다.
- USER: 프로세스를 실행한 사용자의 이름 또는 ID입니다.
- PR (Priority): 프로세스의 우선순위 레벨입니다.
- NI (Nice): 프로세스의 "nice" 값으로, 우선순위 조정에 사용됩니다.
- VIRT (Virtual Memory): 프로세스가 사용하는 가상 메모리의 총 크기입니다.
- RES (Resident Memory): 물리적 메모리(RAM)에 상주하는 메모리 크기입니다.
- SHR (Shared Memory): 여러 프로세스가 공유하는 메모리 크기입니다.
- S (%CPU): 프로세스가 CPU를 사용한 백분율입니다.
- MEM (%MEM): 프로세스가 시스템 메모리에서 사용하는 백분율입니다.
- TIME+ (CPU Time): 프로세스가 CPU를 사용한 총 시간입니다.
- COMMAND (Command): 프로세스를 실행한 명령어 또는 프로그램의 이름입니다.
728x90
- top 명령 실행시 추가할 수 있는 옵션
- (top) -d [sec] : 설정된 초단위로 Refresh
- (top) -c : command뒤에 인자값 표시
- top 명령 실행 후 사용할 수 있는 옵션
- shift + t : 실행된 시간이 큰 순서로 정렬
- shift + m : 메모리 사용량이 큰 순서로 정렬
- shift + p : cpu 사용량이 큰 순서로 정렬
- l(소 문자엘) : uptime line(첫번째 행)을 표시 / 비표시
- space bar : Refresh
- u : 입력한 유저 소유의 Process만 표시
- shift + b : 상단의 uptime 및 기타 정보값을 블락선택해 표시
Fields Management for window 1:Def, whose current sort field is %CPU
Navigate with Up/Dn, Right selects for move then <Enter> or Left commits,
'd' or <Space> toggles display, 's' sets sort. Use 'q' or <Esc> to end!
* PID = Process Id nsUSER = USER namespace Inode
* USER = Effective User Name nsUTS = UTS namespace Inode
* PR = Priority
* NI = Nice Value
* VIRT = Virtual Image (KiB)
* RES = Resident Size (KiB)
* SHR = Shared Memory (KiB)
* S = Process Status
* %CPU = CPU Usage
* %MEM = Memory Usage (RES)
* TIME+ = CPU Time, hundredths
* COMMAND = Command Name/Line
PPID = Parent Process pid
UID = Effective User Id
RUID = Real User Id
RUSER = Real User Name
SUID = Saved User Id
SUSER = Saved User Name
GID = Group Id
GROUP = Group Name
PGRP = Process Group Id
TTY = Controlling Tty
TPGID = Tty Process Grp Id
SID = Session Id
nTH = Number of Threads
P = Last Used Cpu (SMP)
TIME = CPU Time
SWAP = Swapped Size (KiB)
CODE = Code Size (KiB)
DATA = Data+Stack (KiB)
nMaj = Major Page Faults
nMin = Minor Page Faults
nDRT = Dirty Pages Count
WCHAN = Sleeping in Function
Flags = Task Flags <sched.h>
CGROUPS = Control Groups
SUPGIDS = Supp Groups IDs
SUPGRPS = Supp Groups Names
TGID = Thread Group Id
ENVIRON = Environment vars
vMj = Major Faults delta
vMn = Minor Faults delta
USED = Res+Swap Size (KiB)
nsIPC = IPC namespace Inode
nsMNT = MNT namespace Inode
nsNET = NET namespace Inode
nsPID = PID namespace Inode
SWAP 메모리를 사용 중인 프로세스 확인하기
- top > f > SWAP(space) > Esc
SWAP Column(컬럼) 표시
728x90
'리눅스' 카테고리의 다른 글
[isms-p] world writable 파일 점검 (0) | 2023.10.26 |
---|---|
[draft] CentOS 7에서 SNMPv3을 설정하는 방법 (0) | 2023.10.25 |
[draft] CentOS 7에서 고정 IP 주소를 설정하는 방법 (0) | 2023.10.23 |
Bind DNS에서 Forward first와 Forward only의 차이점과 설정 방법 (0) | 2023.10.23 |
우분투에서 DNS 서버로 Bind를 사용하고 포워딩(Forwarding)을 설정하는 방법 (0) | 2023.10.22 |