[Linux] linux top 명령어
1. top 이란?
- 해당 명령어는 현재 OS의 상태를 나타내주는 어플리케이션
- 메모리 사용량, CPU 사용량 등을 알려줌
2. top의 output
2.1. System time, Uptim, User
- 시스템의 현재 시간, OS가 살아있는 시간, 그리고 유저의 세션수를 보여줌
- $ who 를 통해 user session에 대해 알 수 있음
2.2. Load Average
- CPU load의 이동 평균 표시, CPU가 수행하는 작업의 양
- 1분, 5분, 15분의 평균값
- 싱글코어일 경우, 1.0의 값이 CPU 100%를 나타냄
- 멀티코어일 경우, 코어 수 * N을 한 값이 CPU 100% 사용
2.3. Tasks
- 현재 프로세스들의 상태를 나타내주는 영역
- total : 전체 프로세스
- Running : running 상태인 프로세스
- Sleeping : waiting 상태인 프로세스
- Stopped : 종료된 프로세스
- Zombil : 좀비 상태인 프로세스
- 프로세스 상태
- 실행(Runnable) - CPU에 의해서 명령어가 실행중인 Process
- 준비(Ready) - CPU의 명령어 실행을 기다리는 Process
- 대기(Waiting) - I/O operation이 끝나기를 기다리는 Process
- 종료(Terminated) - Ctrl + Z 등의 signal로 종료된 Process
- Zombie - Process는 root Process로 부터 뿌리내린 자식 Process의 형식으로 트리구조를 형성, 이 때 부모가 먼저 종료되면 root process로 부터 닿을 수 없는 Process가 생김 이를 zombie process라고 부름
2.4. CPU
- CPU가 어떻게 사용되고 있는지 사용률을 보여주는 영역
- 모든 값의 총합은 100% (1) 임
- 용어
- us : 프로세스의 유저 영역에서의 CPU 사용률
- sy : 프로세스의 커널 영역에서의 CPU 사용률
- ni : 프로세스의 우선순위(priority) 설정에 사용하는 CPU 사용률
- id : 사용하고 있지 않는 비율
- wa : I/O가 완료될때까지 기다리고 있는 CPU 비율
- hi : 하드웨어 인터럽트에 사용되는 CPU 사용률
- si : 소프트웨어 인터럽트에 사용되는 CPU 사용률
- st : CPU를 VM에서 사용하여 대기하는 CPU 비율
2.5. Memory
- RAM 메모리영역을 Mem으로 표시
- 디스크를 메모리처럼 이용하는 Swap 메모리 영역
- 일반적으로 Mem의 사용량이 거의 가득 찼을 때 Swap 메모리 영역을 사용, 디스크기 때문에 RAM보다 속도가 많이 느림
- 용어
- total : 총 메모리 양
- free : 사용가능한 메모리 양
- used : 사용중인 메모리 양
- Buff/cache : 커널 버퍼에 사용되는 메모리를 뜻함
- Avail Mem : Swap 메모리를 사용하지 않고 사용할 수 있는 메모리의 크기
3. 디테일 영역
- PID : 프로세스 ID이며 프로세스를 구분하기 위한 겹치지 않는 고유한 값
- USER : 해당 프로세스를 실행한 USER 이름 또는 효과를 받는 USER의 이름
- PR : 커널에 의해서 스케줄링 되는 우선순위
- NI : PR에 영향을 주는 nice 라는 값
- VIRT : 프로세스가 소비하고 있는 총 메모리 ( 프로그램이 실행 중인 코드 + heap + stack + IO buffer 메모리를 포함 )
- RES : RAM에서 샤용중인 메모리의 크기를 나타냄
- SHR : 다른 프로세스와의 공유메모리(Shared Memory)를 나타냄
- %MEM : RAM에서 RES가 차지하는 비율
- S : 프로세스의 현재 상태를 나타냄
- TIME+ : 프로세스가 사용한 total CPU 시간
- COMMAND : 해당 프로세스를 실행한 커맨드
참고
This is personal diary for study documents.
Please comment if I'm wrong or missing something else 😄.
댓글남기기