Linux

Linux: top 사용법

dewstream 2025. 1. 3. 15:00

※ How to use the "top" command in Linux?

 

안녕하세요. 듀스트림입니다.

 

오늘은 시스템 운영에서 빠질 수 없는 top 명령어 사용법에 대해 살펴보겠습니다.


1. 목적: CPU, 메모리, 프로세스 사용률 등 시스템 상태를 실시간으로 모니터링

[그림 1] top 출력 화면 예시


2. 기본 출력 구성

요약 정보 (Summary area)

  1. uptime: 시스템 작동 시간.
  2. load average: 최근 1, 5, 15분간 CPU 평균 부하.
    → 1.00 = 한 코어의 완전한 사용 (예: 4코어 시스템에서 4.00 이상은 과부하).
  3. tasks: 현재 실행 중, 대기 중, 중지된, 좀비 프로세스 개수.
  4. %CPU(s): CPU 사용 비율.
    → us: 사용자 공간에서의 CPU 사용량.
    → sy: 시스템 공간에서의 CPU 사용량.
    → ni: Nice 값으로 인해 조정된 CPU 사용량.
    → id: 유휴 상태 비율.
    → wa: I/O 대기 비율.
    → hi: 하드웨어 인터럽트.
    → si: 소프트웨어 인터럽트.
    → st: 시스템이 다른 가상화 호스트에 의해 대기 중인 시간.
  5. Mem: 메모리 사용량.
    → total: 총 메모리.
    → free: 여유 메모리.
    → used: 사용 중인 메모리.
    → buff/cache: 버퍼/캐시로 사용 중인 메모리.
    → avail Mem: 실제로 사용할 수 있는 메모리 (버퍼/캐시 포함).
  6. Swap: 스왑 사용량.
    → total: 총 스왑 메모리 (0.0 total이면 스왑이 설정되지 않은 상태).

 

프로세스 정보 (Task area)

  1. PID: 프로세스 ID.
  2. USER: 프로세스를 실행한 사용자.
  3. PR: 프로세스 우선순위.
    → 20: 일반적인 우선순위.
    → -20: 높은 우선순위 (RCU 프로세스).
  4. NI: Nice 값 (우선순위 조정).
    → 0: 기본값.
    → 낮은 Nice 값은 높은 우선순위를 의미.
  5. VIRT: 가상 메모리 사용량 (단위: KB).
  6. RES: 실제 메모리 사용량 (단위: KB).
  7. %CPU: 프로세스의 CPU 점유율.
    → 단일 스레드 프로세스가 하나의 코어를 최대 사용 시 100%
    → 멀티 스레드 프로세스가 4개의 코어를 전부 사용 시 400%
    → 멀티 스레드 프로세스가 8개의 코어를 전부 사용 시 800%
  8. %MEM: 프로세스의 메모리 점유율.
  9. TIME+: CPU 사용 시간.
  10. COMMAND: 실행 중인 명령어 또는 프로세스 이름.

3. 활용 예시

▸ CPU 집약적 프로세스 찾기

top -o %CPU

 

▸ 메모리 사용량 분석

top -o %MEM

 

▸ 특정 사용자 필터링

top -u username

 

▸ 프로세스 종료

k → PID 입력 → 신호 번호 (기본: 15)

 

▸ 우선순위 변경

r → PID 입력 → 새로운 Nice 값 (-20 ~ 19)

이정도만 알면 top을 활용한 모니터링은 문제없으실거에요!

 

오늘은 여기까지~!

다음 포스팅도 기대해주세요 :)