OS/Linux

[Linux] top란? top 명령어 총정리

yeit 2023. 12. 28. 20:54
728x90

top란?

  • 시스템의 현재 상태와 프로세스 정보를 실시간으로 제공해줌
  • 리소스 사용량, 프로세스 목록, 부하, 메모리 사용량, CPU 사용량 등을 확인하는 데 사용
  • top 명령을 실행하면 터미널 창에 실시간으로 갱신되는 시스템 상태가 나타남

 

$ top

top - 11:07:01 up 106 days,  1:32,  1 user,  load average: 0.29, 0.17, 0.17
Tasks: 155 total,   2 running, 153 sleeping,   0 stopped,   0 zombie
%Cpu(s):  4.2 us,  1.0 sy,  0.0 ni, 94.6 id,  0.0 wa,  0.0 hi,  0.2 si,  0.0 st
KiB Mem :  3853252 total,   179544 free,   824336 used,  2849372 buff/cache
KiB Swap:        0 total,        0 free,        0 used.  2602660 avail Mem 

   PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                                                                                                                                    
 42xxx apache    20   0  5xxxx0  2xxx6   7xx0 S   2.7  0.6 120:57.24 php-fpm                                                                                                                                                    
 68xxx nginx     20   0  1xxxx8   7xx8   2xx0 S   1.3  0.2 665:00.94 nginx                                                                                                                                                      
 15xxx apache    20   0  5xxxx8  2xxx6   7xx0 S   1.0  0.6  67:08.81 php-fpm

 

 

1. top - 11:07:01 up 106 days,  1:32,  1 user,  load average: 0.29, 0.17, 0.17

  • 11:07:01 : 현재 시간를 의미
  • up 106 days, 1:32 : 시스템이 부팅된 후 경과한 시간(시스템 업타임)을 나타냄.
    (106일 1시간 32분 동안 시스템이 계속 실행 중)
  • 1 user : 현재 시스템에 로그인한 사용자 수
  • load average: 0.29, 0.17, 0.17 : 각각 최근 1분, 5분, 15분 동안의 load average(평균 로드)를 의미
    load average는 시스템 부하를 나타내며, CPU 코어당 평균적인 작업 대기 큐의 길이를 나타냄.
    load average가 낮을수록 시스템 부하가 낮다는 의미

 

2. Tasks: 155 total,  2 running, 153 sleeping,   0 stopped,   0 zombie

시스템에서 동작중인 프로세스의 상태를 보여준다.

  • Tasks: 155 total : 현재 시스템에서 실행 중인 총 프로세스의 수
  • 2 running : 현재 실행 중인 프로세스
  • 153 sleeping : 현재 대기 중인 프로세스
  • 0 stopped : 정지된 프로세스
  • 0 zombie : 좀비 프로세스의 수
    +좀비 프로세스란?  실행을 완료한 프로세스지만 완전히 종료되지 않은 프로세스

 

3. %Cpu(s):  4.2 us,  1.0 sy,  0.0 ni, 94.6 id,  0.0 wa,  0.0 hi,  0.2 si,  0.0 st

CPU의 상태를 보여준다.

  • 4.2 us : 사용자 공간에서 실행 중인 프로세스가 CPU를 사용하는 비율
                 사용자 부분은 사용자가 실행한 프로세스에 소요되는 것
  • 1.0 sy : 시스템 레벨 작업에 소요된 CPU 시간의 비율
                 시스템 부분은 커널이나 시스템 레벨 작업에 사용되는 것
    => user time(%) + sys time(%) ≤ 80%,  80%이상일 경우에는 CPU증설 고려
  • 0.0 ni : 우선순위가 높은 프로세스에 할당된 CPU 시간의 비율, ni(nice)
  • 94.6 id : CPU가 아무 작업도 수행하지 않고 대기하는 시간의 비율, id(idle)
  • 0.0 wa : 디스크나 다른 입출력 작업을 처리할 때 CPU가 대기하는 시간의 비율, wa(IO wait)
                  이것도 사용량. 메모리가 부족할 경우 성능이 떨어지기 때문에 이 값이 늘어남
  • 0.0 hi : 하드웨어 인터럽트가 CPU를 사용하는 비율, hi(hardware interrupt)
  • 0.2 si : 소프트웨어 인터럽트가 CPU를 사용하는 비율, si(software interrupt)
  • 0.0 st : 가상 머신 하이퍼바이저가 이 가상 머신에서 가져온 CPU 시간의 백분율, st(steal time)

 

4. KiB Mem :  3853252 total,   179544 free,   824336 used,  2849372 buff/cache

메모리에 관한 정보를 보여준다.

  • KiB(키비바이트)로 표시
  • total : 시스템에 설치된 실제 RAM의 총 양
  • free : 사용 가능한(사용되지 않은) 메모리의 양
  • used : 스템에서 현재 사용 중인 메모리의 양
  • buff/cache : 운영 체제에서 버퍼 공간과 캐시에 사용하는 메모리의 합계
                        버퍼와 캐시는 자주 액세스하는 데이터를 메모리에 저장하여 I/O 작업을 최적화하는 데 사용됨


5. KiB Swap :  0 total,   0 free,   0 used,  2602660 avail Mem 

스왑 메모리에 관한 정보를 보여준다.

  • KiB(키비바이트)로 표시
  • total : 시스템에 구성된 스왑 공간
  • free : 현재 사용 가능한 스왑 공간의 양
  • used : 현재 사용 중인 스왑 공간의 양
    => 해당 값이 크거나 지속적으로 늘어난다면 메모리 부족 현상. 메모리 증설 고려
  • avail Mem : 시스템에서 사용할 수 있는 실제 RAM의 양
728x90