Akashic Records

현재 실행 중인 프로세스와 시스템 상태를 보여주는 'top' 본문

Operation System Controls

현재 실행 중인 프로세스와 시스템 상태를 보여주는 'top'

Andrew's Akashic Records 2024. 3. 15. 10:51
728x90

top 실행 화면

 

top 명령어는 리눅스와 유닉스 계열 시스템에서 실시간으로 시스템의 프로세스와 리소스 사용 상태를 모니터링하는 데 사용됩니다. top을 실행하면, 다양한 요약 정보와 함께 시스템에서 가장 리소스를 많이 사용하는 프로세스들의 리스트를 보여줍니다. 여기서 제공되는 요약 정보의 일반적인 구성요소에 대해 설명하겠습니다.

상단 시스템 정보

1. 시스템 요약 정보

  • 시간: 현재 시간입니다.
  • 업타임: 시스템이 마지막으로 부팅된 이후로 지난 시간입니다.
  • 사용자 수: 현재 시스템에 로그인한 사용자 수입니다.
  • 평균 부하(load average): 지난 1분, 5분, 15분 동안의 시스템 부하 평균을 나타냅니다. 이는 시스템이 얼마나 바쁜지를 나타내는 지표로, 프로세스 대기열의 길이와 관련이 있습니다.

2. 태스크(Task) 정보

  • 총 프로세스 수: 시스템에서 실행 중인 전체 프로세스의 수입니다.
  • 실행 중인 프로세스: 현재 CPU 시간을 사용하고 있는 프로세스의 수입니다.
  • 대기 중인 프로세스: 실행을 위해 대기 중인 프로세스의 수입니다.
  • 중지된 프로세스: 일시 중지된 프로세스의 수입니다.
  • 좀비 프로세스: 부모 프로세스에 의해 아직 회수되지 않은 종료된 자식 프로세스의 수입니다.

3. CPU 사용 정보

  • us (user time): 사용자 레벨에서 사용된 CPU 시간의 비율입니다.
  • sy (system time): 시스템(커널) 레벨에서 사용된 CPU 시간의 비율입니다.
  • ni (nice value): 낮은 우선순위를 가진 프로세스가 사용한 CPU 시간의 비율입니다.
  • id (idle): 유휴 상태의 CPU 비율입니다.
  • wa (I/O wait): I/O 대기 중인 CPU 시간의 비율입니다.
  • hi (hardware interrupt): 하드웨어 인터럽트 처리에 사용된 CPU 시간의 비율입니다.
  • si (software interrupt): 소프트웨어 인터럽트 처리에 사용된 CPU 시간의 비율입니다.
  • st (steal time): 가상화 환경에서 다른 가상 머신에 의해 '훔쳐간' CPU 시간의 비율입니다.

4. 메모리 사용 정보

  • KiB Mem: 시스템의 전체 물리적 메모리 크기입니다.
  • total: 전체 물리적 메모리 양입니다.
  • free: 사용되지 않고 남아 있는 메모리 양입니다.
  • used: 현재 사용 중인 메모리 양입니다.
  • buff/cache: 버퍼와 캐시에 사용된 메모리 양입니다.
  • available: 애플리케이션이 사용할 수 있는 메모리의 양입니다.

top 명령어는 인터랙티브 명령어이며, 실행 중에 다양한 옵션을 조정하여 출력 정보를 변경할 수 있습니다. 예를 들어, 프로세스를 CPU 사용량이나 메모리 사용량 등 다양한 기준으로 정렬할 수 있습니다. top 내에서 h를 누르면 사용할 수 있는 단축키 목록을 볼 수 있습니다.

하단 프로세스 정보

top 명령어의 하단 부분은 시스템에서 실행 중인 프로세스들의 목록을 보여줍니다. 이 목록은 기본적으로 CPU 사용량이 높은 순서로 정렬되어 있으며, 여러 컬럼으로 구성되어 각 프로세스의 상태와 리소스 사용량을 나타냅니다. 다음은 프로세스 목록에서 일반적으로 볼 수 있는 정보의 컬럼과 그 의미입니다.

PID (Process ID)

  • 설명: 각 프로세스를 구별하기 위한 고유한 식별 번호입니다.

USER

  • 설명: 프로세스를 실행한 사용자의 이름입니다.

PR (Priority)

  • 설명: 프로세스의 우선순위입니다. 낮은 숫자가 더 높은 우선순위를 의미합니다.

NI (Nice value)

  • 설명: 프로세스의 우선순위에 영향을 주는 값입니다. 낮은 우선순위(높은 숫자)로 실행될 수 있도록 조정합니다.

VIRT (Virtual Memory Size)

  • 설명: 프로세스가 사용하는 가상 메모리의 총량입니다. 이는 실제 RAM 사용량과 스왑 영역 사용량을 포함합니다.

RES (Resident Memory Size)

  • 설명: 프로세스가 현재 사용하고 있는 실제 RAM의 크기입니다.

SHR (Shared Memory Size)

  • 설명: 다른 프로세스와 공유되는 메모리의 양입니다.

S (Status)

  • 설명: 프로세스의 현재 상태입니다. 예를 들어, 'S'는 대기(sleeping) 상태, 'R'은 실행(running) 상태, 'Z'는 좀비(zombie) 상태 등입니다.

%CPU

  • 설명: 프로세스가 사용하는 CPU의 비율입니다. 이 값은 프로세스가 마지막 업데이트 이후 사용한 CPU 시간의 비율을 나타냅니다.

%MEM

  • 설명: 프로세스가 사용하는 메모리의 비율입니다. 시스템 전체 메모리 대비 해당 프로세스가 사용하는 메모리의 비율을 나타냅니다.

TIME+

  • 설명: 프로세스가 시작된 이후 CPU 시간의 총 사용량입니다. 일반적으로 분:초 형식으로 표시됩니다.

COMMAND

  • 설명: 프로세스를 시작한 명령어 또는 실행 파일의 이름입니다.

top 명령어는 기본적으로 이 정보들을 실시간으로 업데이트하여 표시합니다. 사용자는 top 명령어를 실행 중인 동안 특정 키를 눌러 프로세스 목록의 정렬 기준을 변경하거나, 특정 프로세스에 대한 자세한 정보를 조회하는 등 다양한 조작을 수행할 수 있습니다. 예를 들어, P를 눌러 CPU 사용량이 높은 순으로, M을 눌러 메모리 사용량이 높은 순으로 정렬할 수 있습니다.

728x90

'Operation System Controls' 카테고리의 다른 글

Linux 파일을 다루는 명령어들  (1) 2024.03.18
'crontab' 스케줄링을 위한 가이드  (0) 2024.03.15
vmstat  (0) 2018.04.18
Unix 프로세스 관리(PS)  (0) 2018.04.18
tar  (0) 2018.04.18
Comments