Load Average를 간단히 말하자면 시스템의 부하를 평균치로 알려주는 값입니다.
Load Average가 정확히 무슨 의미이며 리눅스 OS상에서 어떻게 확인할 수 있을까요?
Load Average 란?
Load Average란 얼마나 많은 프로세스가 실행 중 혹은 실행 대기중인지를 의미하는 수치입니다.
조금더 자세히 말해 프로세스 상태 중에서 R(Running)과 D(Uninterruptible waiting)상태 프로세스 개수를 1분, 5분, 15분마다 평균낸 값을 말합니다.
일반적으로 1분 값보다는 5분, 15분의 값을 많이 사용합니다.
프로세스 상태 R(Running)이란?
CPU에서 수행이되고 있거나 실행가능한 상태를 말합니다.
프로세스 상태 D(Uninterruptible waiting)
I/O에 대해 대기하는 상태로 다른 어떤일도 할 수 없음을 의미 합니다.
Load Average 확인 명령어
Load Average는uptime 명령어로 확인 가능하며 이는 /proc/loadavg 파일을 열어서 그 파일의 내용을 읽고 화면에 출력해주는 명령어 입니다. 그렇기 때문에 직접 Load Average 값을 계산하는것은 아니고 커널이 미리 준비해둔 /proc/loadavg를 읽어서 보여주는 명령입니다.
기타 다른 명령어로 Load Average 확인
load average를 확인할 수 있는 방법은 여러가지가 있습니다. uptime, top, cat /proc/loadavg으로 확인할 수 있습니다.
Load Average 값의 의미
Load Average 값은 CPU의 코어수에 따라서 숫자가 달라지며 각 CPU 코어가 100% Load가 발생할 경우, 1 코어는 값 1, 2코어는 값 2, 4코어는 값 4로 표현이 됩니다.
시스템 운영시 권장하는 에버리지는 70%인 0.7 이하 이며 그 이상일 경우 시스템에 이상이 없는지 반드시 체크를 해야합니다.
참고로 1코어에서 2라는 숫자가 나올 수도 있는데 이것의 의미는 100%는 로드된 상태 100%는 대기하는 상태를 뜻합니다.
uptime 명령어값 출력
load average: 0.00, 0.00, 0.00
- 첫번째 값 : 1분 동안의 평균 CPU load
- 두번째 값 : 5분 동안의 평균 CPU load
- 세번째 값 : 15분 동안의 평균 CPU load
CPU load 값은 CPU 가 몇 개의 core 를 가지고 있느냐에 따라서 그 의미가 달라집니다.
각 CPU core 별로 100% load 된 상태의 load average 값은 다음과 같습니다.
- 1 core : 1.00
- 2 core : 2.00
- 3 core : 3.00
cpu core 전체 개수 확인 명령어
grep -c processor /proc/cpuinfo
'[AWS] > MEGA-SAM-FM' 카테고리의 다른 글
[AWS] TELEGRAF Metric_buffer_limit can’t exceed 1000 #9712 (0) | 2021.12.23 |
---|---|
[AWS 활용] #11 Grafana : Install Dashboard Default InfluxDB/Telegraf Metrics (텔레그래 (0) | 2021.12.20 |
[AWS] 리눅스 CPU Load Average의 위험 범위는? (0) | 2021.12.02 |
[Linux 명령어 ] uptime : load average 확인 (0) | 2021.12.01 |
DISK I/O 병목현상 해결방법 아시나요??? (0) | 2021.11.22 |
댓글