Programming/Linux

[리눅스] top 명령

kevin_01 2024. 1. 23. 11:26
728x90

행정명령 - top

첫 번째 줄

  • top - 19:38:28 up 2 days, 20:47, 0 users, load average: 0.52, 0.58, 0.59
  • top- 프로그램 이름
  • 19:38:28- 현재 시간
  • up 2 days, 20:47- 가동 시간. 즉, 시스템이 마지막으로 시작된 시간입니다.
  • 0 users 사용자 수 .
  • load average: 0.52, 0.58, 0.59
  • 여기에 세 개의 숫자가 있습니다. 이는 지난 1분, 5분, 15분 동안의 시스템 부하 평균을 나타냅니다. 이는 실행 중이며 CPU 시간을 기다리는 평균 프로세스 수를 보여줍니다 .
  • 이러한 값은 CPU, 코어, 스레드 수와 매우 밀접하게 평가되어야 한다는 점을 이해하는 것이 중요합니다

두 번째 줄

Tasks: 6 total, 1 running, 5 sleeping, 0 stopped, 0 zombie

두 번째 줄에는 시스템의 프로세스에 대한 정보가 표시됩니다. 모든 유형은 무엇을 의미하나요?

  • total
    • 시스템의 모든 프로세스를 보여줍니다.
  • running
    • 현재 활성화된 프로세스.
    • 이는 해당 프로세스가 현재 CPU를 사용하고 있음을 의미합니다.
  • sleeping
    • 일반적으로 - 프로세스가 무언가를 기다리고 있습니다.
    • 예를 들어 I/O 작업이 될 수 있습니다.
  • stopped
    • 중지된 프로세스(예: Ctrl+Z)
  • zombieexit()
    • 이해해야 할 매우 중요한 상태입니다.간단한 방법으로 이러한 프로세스는
    • 작업을 완료했지만 여전히 프로세스 테이블에 항목이 있는 프로세스입니다.
    . 부모 프로세스가 어떻게든 악화되면 이런 일이 발생할 수 있습니다. 때때로 우리는 (부모를 죽임으로써) 좀비를 죽일 수 있지만, 어떤 경우에는 작동하지 않을 수도 있습니다. 하지만 그런 얘기를 할 수 있는 곳은 아닙니다 :)

곧 total모든 프로세스를 나타내지는 않는다는 것을 알게 될 것입니다. 예를 들어 여기서는 상태를 찾을 수 없습니다 idle.

세 번째 줄

여태까지는 그런대로 잘됐다. 이제 세 번째 줄이 나올 차례입니다.

%Cpu(s): 13.9 us, 9.5 sy, 0.0 ni, 76.3 id, 0.0 wa, 0.4 hi, 0.0 si, 0.0 st

이 줄은 특정 유형으로 구분된 CPU 사용률을 보여줍니다. 하나씩 살펴보겠습니다.

  • us
    • 사용자 - 모든 사용자 프로세스가 이 숫자로 결합됩니다.
    • 그래서 우리 세션도 그렇습니다.
  • sy
    • 시스템 - 시스템이 소유한 프로세스(커널)
  • ninice 0
    • 좋아요 - 이해하는 것이 중요합니다.
    프로세스의 우선순위를 변경할 수 있습니다. 프로세스의 표준 값은 이지만
  • 19(최저)부터 -20(최고) 우선순위까지 수정할 수 있습니다. 여기서 이 통계는 niceness가 0으로 설정된 모든 프로세스를 보여줍니다. 따라서 "systemm에 시간이 있을 때" 시스템에 의해 실행될 프로세스가 표시됩니다.
  • id
    • 유휴(idle) - 유휴 시간은 시스템이 지루해져서 아무것도 하지 않음을 의미합니다.
  • wa
    • iowait - 숫자는 프로세스가 입력/출력 작업을 기다리는 시간(유휴 시간의 하위 집합)을 나타냅니다.
    • 이 통계는 CPU 외부, 다른 하드웨어(뿐만 아니라) 구성 요소의 문제를 보여줄 수 있기 때문에 매우 중요합니다.
  • hi
    • 하드웨어 인터럽트.
    • 이는 하드웨어의 물리적 인터럽트이며 CPU 자체에서 처리됩니다.
  • si
    • 소프트웨어 인터럽트.
    • 이는 소프트웨어에 의해 생성되고 커널에 의해 처리됩니다.
  • st
    • 시간 훔치기 - 특히 가상화된 환경에서 작업할 때 이해하는 것이 매우 중요합니다.즉, 시스템이 하이퍼바이저의 리소스를 기다려야 하는 시간입니다.
    • 이 숫자는 하이퍼바이저가 가상 머신에서 "훔친" 시간을 나타냅니다.

네 번째와 다섯 번째 줄

MiB Mem :  16217.5 total,   6184.9 free,   9808.7 used,    224.0 buff/cache
MiB Swap:  49152.0 total,  48436.2 free,    715.8 used.   6278.3 avail Mem

두 줄 모두 메모리 정보를 나타내기 때문에 이 두 줄을 함께 살펴보겠습니다. 유일한 차이점은 첫 번째 줄은 물리적 메모리에 관한 것이고 두 번째 줄은 스왑에 관한 것입니다. 스왑에 대해서는 다음 강의에서 다루겠습니다.

total, free그리고 used분명합니다.

buff/cache커널과 캐시 에서 사용하는 버퍼 메모리와 페이지 캐시에서 사용하는 메모리 를 합친 값입니다 .

available단순히 새로운 시작 프로그램, 응용 프로그램 등이 실행을 위해 이 메모리 크기를 최대로 사용할 수 있다는 의미입니다.

프로세스 목록

이 다섯 줄 아래에는 프로세스 목록이 있습니다. 이 목록에는 필드가 포함되어 있으므로 의미를 더 잘 이해하기 위해 해당 필드를 살펴보겠습니다.

  • PID
    • 프로세스 ID 번호.
    • 시스템 내 프로세스의 고유번호이다.
  • USER
    • 프로세스 소유자.
    • 이 사용자가 프로세스를 시작합니다.
  • PR
    • 프로세스가 시작될 때 커널에 의해 예약된 프로세스의 기본 우선순위입니다.
  • NI
    • 멋진.
    • 프로세스에 대해 nice가 수행된 경우 값을 표시합니다.
  • VIRT
    • 프로세스에서 사용하는 총 메모리 양입니다.
  • RES
    • 프로세스에서 사용하는 RAM 메모리입니다.
  • SHR
    • 다른 프로세스와 공유되는 메모리 양.
  • S
    • 프로세스 상태(위에서 논의했습니다).
  • %CPU
    • 프로세스에서 사용 가능한 CPU의 양입니다.
  • %MEM
    • CPU와 비슷하지만 이 값은 메모리 사용량을 나타냅니다.
  • TIME+
    • 프로세스의 총 CPU 사용량입니다.
  • COMMAND
    • 확실히 이 프로세스가 실행됩니다.
728x90

'Programming > Linux' 카테고리의 다른 글

[리눅스] tr 명령  (1) 2024.01.24
[리눅스] iptables 개념 및 명령어  (0) 2024.01.23
[리눅스] 파일 복사 및 이동  (0) 2024.01.23
[리눅스] 파일 읽기  (2) 2024.01.23
[리눅스] 파이프 및 리디렉션  (0) 2024.01.23