Server/리눅스

top 명령어

나쁜천사1004 2024. 5. 31. 09:33

리눅스 top 명령어는 시스템의 실시간 성능을 모니터링하는 데 유용한 도구입니다. top 명령어를 실행하면 다음과 같은 정보를 볼 수 있습니다. 여기서는 top 출력의 각 부분을 어떻게 읽고 해석하는지 설명합니다.

top 명령어 실행

top

top 출력의 주요 부분

1. 요약 영역 (Summary Area)

top 명령어의 상단 부분은 시스템의 전체 상태를 요약하여 보여줍니다.

top - 15:32:29 up  1:22,  2 users,  load average: 0.00, 0.01, 0.05
Tasks: 123 total,   1 running, 122 sleeping,   0 stopped,   0 zombie
%Cpu(s):  1.0 us,  0.3 sy,  0.0 ni, 98.7 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  2048000 total,  1024000 free,   512000 used,   512000 buff/cache
KiB Swap:  2048000 total,  2048000 free,        0 used.  1280000 avail Mem
  • 시스템 시간 및 업타임: 현재 시간(15:32:29), 시스템의 가동 시간(up 1:22), 로그인한 사용자 수(2 users), 시스템 부하 평균(load average: 0.00, 0.01, 0.05). 부하 평균은 1분, 5분, 15분 동안의 평균값을 의미합니다.
  • 작업 (Tasks): 총 프로세스 수(123 total), 실행 중인 프로세스(1 running), 대기 중인 프로세스(122 sleeping), 정지된 프로세스(0 stopped), 좀비 프로세스(0 zombie).
  • CPU 사용량 (%Cpu(s)): 사용자 모드(us), 시스템 모드(sy), 낮은 우선순위 모드(ni), 유휴 시간(id), IO 대기 시간(wa), 하드웨어 인터럽트(hi), 소프트웨어 인터럽트(si), 가상화된 시간(st).
  • 메모리 (KiB Mem): 총 메모리(2048000 total), 사용 가능한 메모리(1024000 free), 사용 중인 메모리(512000 used), 버퍼/캐시된 메모리(512000 buff/cache).
  • 스왑 메모리 (KiB Swap): 총 스왑 공간(2048000 total), 사용 가능한 스왑 공간(2048000 free), 사용 중인 스왑 공간(0 used), 사용 가능한 메모리(1280000 avail Mem).

2. 작업 영역 (Tasks Area)

각 프로세스에 대한 자세한 정보를 제공합니다.

 PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
 1234 username  20   0  123456  12345   1234 S   0.3  0.6   0:01.23 myprocess
  • PID: 프로세스 ID.
  • USER: 프로세스를 소유한 사용자.
  • PR: 프로세스 우선순위.
  • NI: 프로세스의 nice 값.
  • VIRT: 가상 메모리 사용량.
  • RES: 실제 메모리 사용량.
  • SHR: 공유 메모리 사용량.
  • S: 프로세스 상태 (R: 실행 중, S: 대기 중, T: 멈춤, Z: 좀비).
  • %CPU: CPU 사용률.
  • %MEM: 메모리 사용률.
  • TIME+: 프로세스가 시작된 이후로 사용한 총 CPU 시간.
  • COMMAND: 실행된 명령어 이름 또는 명령어 라인.

상호작용 명령어

top 실행 중에 다양한 키를 사용하여 출력을 제어할 수 있습니다.

  • Space: 화면 새로 고침.
  • h: 도움말 표시.
  • k: 프로세스를 종료 (PID 입력 필요).
  • n: 표시할 프로세스 수 변경.
  • u: 특정 사용자의 프로세스만 표시.
  • M: 메모리 사용량 기준으로 정렬.
  • P: CPU 사용량 기준으로 정렬.
  • T: 실행 시간 기준으로 정렬.
  • q: top 종료.

예제 명령어

  • 메모리 사용량 상위 10개 프로세스 표시:
top -o %MEM

 

  • 특정 사용자의 프로세스 표시:
top -u username

이 정보를 통해 시스템의 성능을 모니터링하고, 성능 저하의 원인을 분석하며, 필요시 비정상적인 프로세스를 종료할 수 있습니다.

반응형

'Server > 리눅스' 카테고리의 다른 글

centos & rockey vi editor 한글 께짐  (0) 2024.06.20
Java heap 메모리 실시간 보는 스크립트  (0) 2024.01.30