| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | ||
| 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 13 | 14 | 15 | 16 | 17 | 18 | 19 |
| 20 | 21 | 22 | 23 | 24 | 25 | 26 |
| 27 | 28 | 29 | 30 |
Tags
- UnixCommand
- UNIX
- 자바스크립트
- shell
- Solaris
- 명령어
- 터미널
- linux
- 유닉스
- 정규표현식
- 리눅스
- 시스템관리
- tcsh
- cups
- php
- bash
- js
- Unix명령어
- 리눅스명령어
- 파일시스템
- 사용자관리
- coreutils
- environment
- 쉘스크립트
- terminal
- PackageManagement
- linuxcommand
- sysadmin
- 유닉스명령어
- JavaScript
Archives
- Today
- Total
ioerror
top 사용법 및 옵션 - 시스템 프로세스 및 리소스 사용량 실시간 모니터링 본문
반응형

top - Table of Processes
시스템의 CPU 사용량, 메모리 점유율, 진행 중인 프로세스 목록을 실시간으로 화면에 출력하고 관리하는 CLI 기반의 대표적인 시스템 모니터링 도구이다. 시스템 과부하 원인을 파악하거나 특정 프로세스의 리소스 점유율을 추적할 때 주로 사용한다. 대부분의 Unix-like OS에 기본 설치되어 있으나, OS나 버전에 따라 표시되는 항목 및 지원 옵션에 차이가 존재한다.
1. top 용도
- 시스템 전반의 CPU, 메모리, 스왑 메모리 상태 파악
- 리소스 점유율이 높은 불량 프로세스 추적 및 강제 종료(kill)
- OOM(Out Of Memory) 발생 시 원인 프로세스 식별
- 서버 과부하 발생 시 즉시 상태를 확인하기 위해 StackOverflow 및 GitHub 등에서 가장 많이 권장되는 1순위 진단 명령
2. top 서식
Bash
top [옵션]
3. top 옵션
| 옵션 | 설명 | 사용가능 OS 및 쉘 |
| -b | 배치 모드(Batch mode) 실행. 결과를 표준 출력으로 보냄 | All |
| -n <수> | 지정한 횟수만큼 화면을 갱신한 후 자동 종료 | All |
| -p <PID> | 특정 PID 목록만 지정하여 모니터링 | All |
| -u <사용자> | 특정 사용자 소유의 프로세스만 표시 | All |
| -d <초> | 화면 갱신 주기(초 단위) 설정 | All |
| -c | 프로세스의 전체 command line(인자 포함) 표시 | [Linux] |
| -H | 스레드(Thread) 단위로 분하게 모니터링 | [Linux] |
| -o <필드> | 지정한 필드 기준으로 프로세스 정렬 | [Linux] |
| -i | 유휴(Idle) 상태나 좀비(Zombie) 프로세스 제외 | All |
명령어 옵션 사용 예시
Bash
# 1. 특정 PID(1234, 5678)만 1초 간격으로 5회 모니터링 후 종료
top -p 1234,5678 -d 1 -n 5
# 2. 배치 모드로 실행하여 실행 결과를 파일로 저장
top -b -n 1 > system_status.log
# 3. nginx 사용자의 프로세스만 실시간 모니터링
top -u nginx
# 4. 프로세스의 실행 경로 및 인자 전체 출력 [Linux]
top -c
대화형 내부 키 동작 예시 (top 실행 중 입력):
- M: 메모리 사용량(MEM%) 기준으로 프로세스 정렬
- P: CPU 사용량(CPU%) 기준으로 프로세스 정렬
- k: PID를 입력받아 해당 프로세스에 시그널(기본 SIGTERM, 15) 전달 및 종료
- 1: 멀티코어 환경에서 코어별 CPU 사용량을 분할하여 표시 [Linux]
- q: top 프로그램 종료
4. top 특이사항(유의사항)
- CPU % 계산 기준 차이: 리소스 모니터링 시 멀티코어 환경에서 1개 코어를 100%로 계산한다. 따라서 8코어 시스템일 경우 CPU 점유율이 최대 800%까지 표시될 수 있다.
- I/O Wait 확인: %wa(Linux) 값이 지속적으로 높다면 CPU나 메모리가 아닌 디스크 I/O 병목 현상으로 인한 서버 지연일 가능성이 크다.
- Batch 모드 활용: 스크립트 작성 시 -b 옵션을 지정하지 않으면 제어 문자가 함께 출력되어 결과 분석이 어렵다.
- macOS/BSD와의 차이: macOS의 top 명령어는 Linux procps-ng 기반 top과 옵션 체계가 완전히 다르다. macOS에서는 정렬 기준 설정 시 -o cpu 또는 -o mem 형태로 지정해야 한다. [macOS]
관련 명령어들
- htop: top의 확장 버전으로 컬러 UI, 마우스 조작, 프로세스 트리 표시 지원
- atop: 시스템 리소스 및 프로세스 활동을 장기 기록하고 분석하는 진단 도구
- ps: 현재 실행 중인 프로세스의 정적 스냅샷 출력
- vmstat: virtual memory statistics의 약자로 메모리, CPU, I/O 상태 요약 출력
https://ioerror.tistory.com/entry/UNIX-Linux-Command-Reference
UNIX & Linux Command Reference
유닉스 / 리눅스 명령어 표유닉스와 리눅스 환경에서 자주 사용되는 필수 명령어들을 완벽하게 정리한다. 서버 관리, 프로그래밍, 일상적인 시스템 운영 등 어떤 목적이든 터미널 환경을 능숙하
ioerror.tistory.com
반응형
'OS' 카테고리의 다른 글
| uname 사용법 및 옵션 - 시스템 및 커널 정보 확인 (0) | 2026.07.31 |
|---|---|
| uname 사용법 및 옵션 - 시스템 정보 확인 명령 (0) | 2026.07.31 |
| time 사용법 및 옵션 - 명령어의 실행 시간 및 자원 사용량을 측정하는 명령어 (0) | 2026.07.31 |
| telnet 사용법 및 옵션 - 원격 호스트 접속 및 네트워크 포트 연결 상태를 점검하는 명령어 (0) | 2026.07.31 |
| tee 사용법 및 옵션 - 표준 입력을 받아 표준 출력과 파일에 동시에 기록하는 명령어 (0) | 2026.07.31 |
Comments