ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [인프라 기본지식] CPU 모니터링에 필요한 지표 정리
    인프라/linux 2021. 1. 27. 16:05

    CPU Usage

    CPU 사용량은 시스템 사용률과 사용자 사용률 등을 합친값이다.

    시스템 사용률은 운영체제가 사용한 CPU 사용률을 의미하며 사용자 사용률은 응용프로그램이 사용하는 CPU 사용률을 의미한다.

     

    System 사용률이 높다면 시스템 사양을 높여야 한다.

    USer 사용률이 높다면 시스템 업그레이드 또는 애플리케이션의 분배를 고려해야 한다.

     

    CPU Idle

    CPU Idle 은 CPU 가 모든 일을 끝내고 쉬는 시간을 의미한다. 일반적으로 CPU Usage 가 높다면 CPU Idle 은 낮을 것이다. 

    하지만 I/O Wait 또는 Steal 등의 값으로 인해 이 비율이 항상 일정치 않다.

     

    Idle 값이 항상 낮다면 시스템을 업그레이드 해야한다.

     

    CPU I/O Wait

    CPU가 입출력을 대기하는데 사용한 시간의 비율을 보여준다. 프로세스에 바로 접근 할 수 없는 상황인 경우 I/O Wait 비율은 늘어난다.

    iowait 은 cpu 본연의 job이 아닌 다른 장치와의 통신 때문에 cpu job이 일시적으로 waiting 된 상태를 말한다. 예를 들어서 cpu와 hdd간의 테이터 통신이 많다면 (hard disk에 writing 부하가 심하게 올라간다면) iowait이 높아지게 된다.

     

    I/O Wait 값이 높다면 하드 디스크를 SSD로 교체하거나 Raid 유형을 바꿔야 한다.

     

    CPU Steal %

    다른 OS 에 의해서 빼앗긴 CPU 시간의 비율, 가상화되어 있지 않다면 Steal 값은 사용되지 않으므로 항상 0으로 표시된다.

    가상머신이 많아지는 경우, 동일한 물리 장비에서 제공되는 환경이다보니,

    특정 가상머신이 CPU를 많이 차지하게 되면, 다른 머신들도 따라서 느려지게 되는데,

    이 현상을 CPU Steal이라고 한다.

     

     

    CPU Load(부하)

    CPU Load 는 CPU 에 실행중이거나 대기중인 작업(프로세스) 의 개수를 평균으로 보여주는 값이다.

    CPU에 실행중이거나 대기중인 작업이 있는지 100번 확인할 때 2개의 작업이 있다면 CPU 로드는 0.02 이다.

    CPU 가 항상 실행중이고 대기중인 작업없이 효율적으로 정확히 일한다면 CPU Load 는 1이다. 코어가 2개라면 대기중인 작업이 없는 상태일 떄 CPU Load 는 2가 된다.

    코어가 4개면 4 이다.

    부하가 클 수록 CPU Load 의 값이 커지게 된다. CPU Load 는 남아있는 작업까지 표시해 주는 지표이다.

     

    코어가 하나인 경우 CPU Load 의 임계값은 0.7 정로도 둔다. 적당한 평균치

    CPU Load 가 지속적으로 0.7 을 넘어간다면 시스템업그레이드를 고려해야 한다.

     

    참고문헌

    brunch.co.kr/@leedongins/75?fbclid=IwAR3Vm-UPfMb3AFqhymelLPphePD8qtZl_wK57_K89YeOuomCeQ0pZZQC2jM [CPU 지표 정리]

     

    반응형

    댓글

Designed by Tistory.