리눅스 Load Average란?

리눅스에서 top 명령어 또는 uptime 명령어로 1분, 5분, 15분의 시스템의 평균 로드 지표인 Load Average를 통해 평균 부하 정도를 알 수 있습니다. Load Average는 CPU에 어느 정도의 일이 쌓이는지를 나타내는 것으로 정의 내릴 수 있습니다.

✅ 리눅스 Load Average의 이해

~]# uptime                                                                                                         
 10:36:12 up 5 days, 17:35,  1 user,  load average: 2.03, 20.17, 15.09
 ⓐ현재 시간|ⓑ부팅  5 17:35동안 가동| ⓒ시스템에 로그인한 사용자 |ⓓ최근 1분,5분,15분동안 시스템의 평균 부하율  

세 개의 숫자 (2.03, 20.17, 15.09)는 시스템에서의 1분,5분,15분 동안의 평균 부하를 나타 냅니다. 1코어의 단일 CPU 환경일 경우 평균 부하 1이 의미하는 것은 100% CPU를 사용하고 있다는 것을 의미합니다. 2코어일 경우는 50%, 4코어일 경우 25%를 사용하는 것을 의미합니다.

리눅스 uptime 명령어를 통한 Load Average 확인하기

결국 단일 CPU 환경에서 부하 1과 4개의 CPU에서 부하가 4라는 것은 자원을 사용하는 양적인 측면에서 동일한 것으로 이해할 수 있습니다.

✅ 평균 부하가 높은 것의 의미

Load Average의 평균 부하가 높다는 것은 “어떤 이유로 높은가?”로 원인을 찾을 수 있습니다.

  • 평균 부하 원인
  • CPU에 의한 부하: 프로세스가 CPU 자원을 사용하기 전 대기 상태.
  • RAM에 의한 부하: 높은 RAM 사용으로 RAM 영역이 아닌 Swap 영역으로 옮겨진 경우.
  • 디스크 I/O에 자원이 집중된 경우

시스템의 주요 리소스는 CPU, RAM, 디스크 I/O 3가지와 네트워크를 볼 수 있으며, 서버에서의 문제 발생이 원인일 경우 시스템 엔지니어의 경우 RAM, 또는 CPU를 추가할지를 고민할 수 있고, 개발자의 경우 새로 수정한 코드가 느리게 실행되는지 체크를 고려할 수 있습니다.

✅ 부하의 원인 파악하기

구체적인 부하의 원인을 파악하기 위해 vmstat 명령어를 활용할 수 있습니다.

  • r과 b 열에서 각각의 프로세스 및 확인할 수 있습니다.
  • r – The number of processes waiting for run time: 현재 실행되고 있는 프로세스의 갯수
  • b – The number of processes in uninterruptible sleep: I/O를 위해 대기열에 있는 프로세스의 개수
vmstat 2
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 0  0      0 1077988   3124 321444    0    0     2     1   47  134  0  0 100  0  0
 0  0      0 1077988   3124 321444    0    0     0     0   47  133  0  0 100  0  0
 1  0      0 1077988   3124 321444    0    0     0     0   48  139  0  0 100  0  0
 4  0      0 1077988   3124 321444    0    0     0     0   44  122  0  0 100  0  0
 0  0      0 1077988   3124 321444    0    0     0     0   49  136  0  0 100  0  0
 1  0      0 1077988   3124 321444    0    0     0     0   46  126  0  0 100  0  0
 0  0      0 1077988   3124 321444    0    0     0     0   44  128  0  0 100  0  0
 0  0      0 1077988   3124 321444    0    0     0     0   46  133  0  0 100  0  0
 1  0      0 1077988   3124 321444    0    0     0     0   45  126  0  1 100  0  0
 0  0      0 1077988   3124 321444    0    0     0     0   48  133  0  0 99  0  0
 0  0      0 1077988   3124 321444    0    0     0     0   45  132  0  0 100  0  0
 0  0      0 1077988   3124 321444    0    0     0     0   46  129  0  0 100  0  0
 0  0      0 1077988   3124 321444    0    0     0     0   49  135  0  0 100  0  0
 0  0      0 1077988   3124 321444    0    0     0     0   46  127  0  0 100  0  0

b 열에 있는 프로세스가 많이 표시되는 경우 I/O 처리 과정의 문제를 체크 해 볼 수 있겠습니다.

리눅스 TOP 명령어: 명령줄 인터페이스(CLI-Command-Line Interface)

Similar Posts

  • HTTP 503 에러(Service Unavailable) 원인과 해결

    웹사이트에 접속했을 때 발생하는 HTTP 503 에러(Service Unavailable)의 원인은 서버 측에서 발생하는 에러입니다. 서버 과부하, 서버 구성 오류 등 다양한 원인이 있습니다. 목차✅ 리눅스 Load Average의 이해✅ 평균 부하가 높은 것의 의미✅ 부하의 원인 파악하기✅ HTTP 503 에러 로그 확인하기 먼저 503 error이 발생한 원인을 파악하기 위해 error_log를 확인합니다. ✅ 다양한 HTTP 503…

  • |

    오라클 클라우드 ping 오류[VM 인스턴스]

    오라클 클라우드 VM 인스턴스에서 고정 IP 설정까지 진행했지만 ping을 입력해도 요청 시간 만료로 timeout 오류가 되면서 응답이 없는 오류가 계속 발생했습니다. 오라클 클라우드 ping 오류를 해결하는 방법은 다음과 같습니다. 목차✅ 리눅스 Load Average의 이해✅ 평균 부하가 높은 것의 의미✅ 부하의 원인 파악하기오라클 클라우드 ping 오류 해결하기 방화벽 설정에서 VCN 설정을 진행해 줘야 하는…

  • HTTP 404 에러(클라이언트 에러) 원인과 해결

    HTTP 상태 코드 중 하나인 HTTP 404 에러 페이지는 페이지를 찾을 수 없을 때 발생합니다. 도메인의 URL이 삭제된 경우가 가장 흔한 경우이며, 메인 페이지 및 모든 페이지에서 404 에러가 발생하는 경우 문제를 어떤 경우가 있는지 확인 해 보겠습니다. 목차✅ 리눅스 Load Average의 이해✅ 평균 부하가 높은 것의 의미✅ 부하의 원인 파악하기✅ HTTP 404…

  • APM 설치 후 index.html 다운로드 현상과 해결 방법

    웹 서버 세팅을 위해 APM을 설치했는데 index.html 다운로드 현상이 발생했다. 원인으로 아파치랑 PHP 연동이 되지 않았기 때문에 오류가 발생하는 것으로 구글링 결과 확인되었습니다. 참고로 html과 php 모두 동일한 다운로드 되는 현상이 나오는 것을 발견했습니다. 목차✅ 리눅스 Load Average의 이해✅ 평균 부하가 높은 것의 의미✅ 부하의 원인 파악하기index.html 다운로드 현상 해결하기 먼저 httpd.conf 파일에…

  • HTTP 500 에러(내부 서버 오류)

    HTTP 500 에러는 이용 중인 컴퓨터, 인터넷의 문제가 아닌 내부 서버 오류입니다. 목차✅ 리눅스 Load Average의 이해✅ 평균 부하가 높은 것의 의미✅ 부하의 원인 파악하기 ✅ HTTP 500 에러 HTTP 500 error로 발생하는 원인은 다양합니다. 다른 사이트 역시 마찬가지이지만 주로 워드프레스 사이트에서 .htaccess 파일이 변경된 경우일 수 있으며, 서버의 DB에서 오류가 발생한 경우…

  • HTTP 403 에러(403 Forbidden)

    목차✅ 리눅스 Load Average의 이해✅ 평균 부하가 높은 것의 의미✅ 부하의 원인 파악하기✅ HTTP 403 에러 HTTP 403 에러는 지정된 클라이언트가 요청한 리소스에 접근할 권한이 없는 경우 403 Forbidden 에러가 발생합니다. ✅ 403 Forbidden 원인과 해결 1. Selinux 설정 끄기 보통 OS 및 APM을 새로 설치한 경우 Selinux가 켜져 있는 상태이기 때문에 Selinux 설정을…

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

Prove your humanity: 4   +   5   =