리눅스 Load Average란?

공정위 광고 문구 Ver 3.1
공정위 광고 문구 Ver 3.2(모바일 전용)

리눅스에서 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

  • SELinux 개념과 보안 설정

    SELinux(Security-Enhanced Linux)란 보안을 강화하기 위해 개발된 리눅스 커널의 보안 기능 중 하나입니다. 셀리눅스는 컴퓨터 시스템의 보안을 강화하기 위해 NSA(National Security Agency:미국 국가안보국)와 레드햇(Red Hat) 등의 기업과 개발자들이 협력하여 개발했습니다. zero-day 공격 및 buffer overflow 등 어플리케이션 취약점으로 인한 해킹을 방지해 주는 핵심 구성요소에 속하지만APM 설치 후 사용하는데 오류가 발생하는 등 불편함이 있습니다. 잘…

  • APM 설치 후 아파치 403 에러(403 Forbidden)

    리눅스에서 APM을 설치한 후에 아파치 403 에러가 뜰 경우 SELinux가 켜져 있는지 먼저 확인할 수 있습니다. 1. APM 설치 후 아파치 403 에러 발생 시 퍼미션 확인 SELinux 설정을 끈 이후에도 동일한 오류가 발생한다면 퍼미션(권한) 문제이기 때문에 폴더의 소유권과 권한을 확인해 주어야 합니다. 에러 로그를 확인 했을 때 위와 같은 오류가 확인되며, 퍼미션을…

  • 리눅스 톰캣 ERR_TOO_MANY_REDIRECTS 에러

    톰캣으로 운영 중인 서버에서 크롬으로 접속 시 “ERR_TOO_MANY_REDIRECTS” 오류가 발생하는 경우, 톰캣 ERR_TOO_MANY_REDIRECTS 에러 원인과 해결 방법 ✅ ERR_TOO_MANY_REDIRECTS 톰캣 및 아파치 재시작(아파치 정지 되어 있었음) / “ERR_TIMED_OUT” 오류로 변경 이후에 사이트 접속 확인되었으나 사이트에 연결할 수 없음www.kgrda.re.kr에서 응답하는 데 시간이 너무 오래 걸립니다. 다음 방법을 시도해 보세요. 연결 확인 프록시 및 방화벽…

  • |

    ORA-12514: 오라클 19c DB 접속 오류

    Oracle 19c를 윈도우에 설치 후 [ORA-12514: TNS:리스너가 현재 접속 기술자에 요청된 서비스를 알지 못함]이란 오류가 발생했습니다. ORA-12514 오류 > 파일 수정 여러가지 오류 확인 중 [lisener.ora] 파일과 [tnsnames.ora] 2개의 파일 수정을 먼저 진행했습니다. 2개 파일은 각각 셋업 시 설정한 설치 경로가 다를 수 있으며, 저의 경우 C:\Oracle\WINDOWS.X64_193000_db_home\network\admin\ 폴더 안에서 파일 확인 후 작업을…

  • |

    MariaDB: Slow Query Log 설정

    MariaDB에서 Slow Query Log 설정을 할 경우 Mariadb 10.2 버전부터 etc/my.cnf.d/ 폴더안에 mysql-clients.cnf 및 server.cnf 파일로 나뉘게 되었습니다. mysql 이라도 폴더를 확인한 후에 설정 내역에 따라 확인하면 되겠습니다. 먼저 etc/my.cnf.d/server.cnf 파일에 적용하는 방법에 대해 알아 보겠습니다. ※ Slow Query Slow Query는 수행하는 데 오랜 시간이 걸리는 쿼리입니다. 응답 시간이 길어질 경우 서비스의 품질이…

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

    HTTP 500 에러는 이용 중인 컴퓨터, 인터넷의 문제가 아닌 내부 서버 오류입니다. ✅ HTTP 500 에러 HTTP 500 error로 발생하는 원인은 다양합니다. 다른 사이트 역시 마찬가지이지만 주로 워드프레스 사이트에서 .htaccess 파일이 변경된 경우일 수 있으며, 서버의 DB에서 오류가 발생한 경우 등 다양한 원인이 존재합니다. 1. .htaccess 파일 오류 워드프레스의 경우 초기 세팅 파일이나…

답글 남기기

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

Prove your humanity: 9   +   8   =