티스토리 뷰

728x90
반응형

Ubuntu 18.04에서 CPU 사용율 확인법

Ubuntu 18.04에서 명령어 top 을 입력했을 때, CPU가 얼마나 사용되고 있는지 확인할 수 있습니다.

배포한 웹사이트에서 접속자가 몰려 서버 CPU 사용량이 급격히 증가했을 때,

load average를 통해 웹접속자를 대기 시키는 등의 예외처리가 가능합니다.

 

 

 

Load Average란?

제가 위에 스크린샷 찍어놓은 사진을 보면 아래와 같이 3개의 load average값들이 적혀있는데요

load average: 0.15, 0.17, 0.17 

 

첫번째 0.15는 1분 동안의 평균 CPU load,

두번째 0.17은 5분 동안의 평균 CPU load,

세번째 0.17은 15분 동안의 평균 CPU load를 뜻합니다.

 

실시간적으로는 첫번째 값 CPU load만 보면 되겠습니다.

CPU 코어 개수에 따라서 load average의 최대치를 알 수 있습니다.

만약 코어가 2개라면, load average가 2.0일때 100%를 사용하고 있는 것이고,

만약 코어가 24개라면, load average가 24.0일때 100%를 사용하고 있는 것입니다.

load average는 100% 이하여야 안전한 것이고, 가끔 100%를 찍는 것은 괜찮지만, 지속적으로 높은 값을 유지한다면 심각한 상황으로 판단될 수 있겠습니다.

 

일반적으로 load average 70% 정도를 상한선으로 둔다고 합니다.

따라서, 웹사이트에서 load average를 기준으로 접속자를 대기시킬 예정이라면,

load average값을 가져와서, 그 값이 현재 코어수의 70%를 넘어버리면 에러페이지를 보여주면 되는 것입니다.

 

아래는 load average를 가져오는 자바, 파이썬 코드 예시입니다.

 

 

자바(java) 버전

import java.lang.management.ManagementFactory;
import java.lang.management.OperatingSystemMXBean;

OperatingSystemMXBean mxBean = ManagementFactory.getOperatingSystemMXBean();
double loadAverage = mxBean.getSystemLoadAverage();
System.out.println("System Load Average : " + loadAverage);

 

 

파이썬(python) 버전

import os

# This method is available on UNIX platforms only.
loadAverage = os.getloadavg()

 

 

 

 

 

728x90
반응형
댓글