안녕하세요.
이번 글에서는 Linux의 top 명령어에 대해 알아보고자 합니다.
top
: Linux 시스템에서 CPU, 메모리, 프로세스 등의 시스템 상태를 실시간으로 모니터링
top 명령어
top
top 명령어 실행 예시

Load average(시스템 부하)
: : 1분 / 5분 / 15분 동안의 평균 시스템 부하 (CPU 실행 또는 대기 중인 작업 수)
Tasks - 현재 프로세스 상태
- total : 전체 프로세스
- running : 실행 중인 프로세스
- sleeping : 대기 중인 프로세스
- stopped : 일시 중지된 프로세스
- zombie : 좀비 상태인 프로세스
Cpu(s) - CPU 사용률
- us : 사용자 프로세스 CPU 사용률
- sy : 커널(시스템) CPU 사용률
- ni : nice 값 적용된 프로세스의 CPU 사용률
- id : 사용하고 있지 않은 비율(idle)
- wa : I/O가 완료될 때까지 기다리고 있는 CPU 비율
- hi : 하드웨어 인터럽트에 사용되는 CPU 비율
- si : 소프트웨어 인터럽트에 사용되는 CPU 비율
- st : 가상화 steal
메모리 - Memory 사용률
- total : 전체 메모리
- free : 사용 가능한 메모리
- used : 사용 중인 메모리
- buff/cache : 캐시 메모리
- avail Mem : 실제 사용 가능한 메모리
- avail Mem은 단순히 사용 가능한 메모리(free)가 아니라, 캐시 영역까지 포함하여 실제로 사용 가능한 메모리 양을 의미
- 리눅스는 성능 향상을 위해 남는 메모리를 캐시로 활용함
프로세스 테이블
- PID : 프로세스 ID
- USER : USER 이름
- PR : 커널에 의해 스케줄링 되는 우선순위(priority)
- NI : PR에 영향을 주는 nice 값
- VIRT : 프로세스가 사용할 수 있는 전체 가상 메모리
- RES : RAM에서 사용중인 메모리 사용량
- SHR : 공유 메모리(shared)
- S : 프로세스 현재 상태
- R : 실행 중(running)
- S : 대기(sleeping)
- I : idle(커널 스레드가 아무 작업도 안 하는 상태)
- Z : zombie
- D : I/O대기
- T : 중지됨
- %CPU : CPU 사용률
- %MEM : 메모리 사용률
- TIME+ : 누적 CPU 시간
- COMMAND : 해당 프로세스를 실행한 명령
정리
top 명령어는 CPU, 메모리, 프로세스 상태를 실시간으로 확인할 수 있는 기본적인 시스템 모니터링 도구이다.
특히 load average, CPU idle, avail Mem 값을 통해 시스템의 부하 상태를 빠르게 판단할 수 있다.