Wisdom’s Cloud
[Linux] [CentOS] Load Average 본문
Load Average란?
Load Average는 R과 D 상태에 있는 프로세스 개수의 1분, 5분, 15분마다의 평균 값을 의미한다.
즉, 실행 중이거나 실행 대기 중인 프로세스가 얼마나 많은 지를 나타낸다.
이러한 Load Average 수치는 uptime 명령어를 통해 아래와 같이 확인할 수 있다.
[root@jhpark20 ~]# uptime
08:19:05 up 46 days, 8:29, 1 user, load average: 0.00, 0.01, 0.05
하지만 Load Average 값이 같더라도 CPU Core가 몇 개냐에 따라 전혀 다른 의미가 될 수 있다.
예를 들어, CPU Core가 1개일 때 2개의 프로세스가 있는 경우(실행 중인 프로세스 1개, 실행 대기 중인 프로세스 1개)와
CPU Core가 2개일 때 2개의 프로세스가 있는 경우(실행 중인 프로세스 2개) 모두 Load Average 값은 2가 된다.
따라서 전자의 경우는 현재 시스템이 처리할 수 있는 프로세스보다 조금 더 많은 프로세스가 있고,
후자의 경우는 현재 시스템에 처리 가능한 만큼의 프로세스가 있는 것이기 때문에
시스템에 있는 CPU Core 수가 몇 개냐에 따라 Load Average 값은 의미가 상대적이다.
또한 Load Average는 시스템에 부하가 있다는 것을 알려주지만 구체적으로 어떤 부하인지는 알 수 없다.
따라서 어떤 부하가 일어나는 지는 vmstat 명령어를 통해 아래와 같이 확인할 수 있다.
[root@jhpark20 ~]# vmstat
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
2 0 0 87924 4 808368 0 0 32 4 1 4 0 0 100 0 0
r과 b를 통해 어떤 부하가 일어나는 지 알 수 있는데,
r은 실행되기를 기다리거나 현재 실행되고 있는 프로세스의 개수를 의미하며, r 값이 높을 수록 CPU 리소스를 많이 사용하고 있다는 의미이다.
b는 I/O를 위해 대기열에 있는 프로세스의 개수를 의미하며, b 값이 높을 수록 I/O 리소스를 많이 사용하고 있다는 의미이다.
이렇게 부하의 종류에 따라서 해결 방법이 달라지기 때문에 단순히 Load Average 값만 보는 것이 아니라 어떤 부하인지 아는 것도 중요하다.
[참고 문서]
https://en.wikipedia.org/wiki/Load_(computing)
'LINUX > Advanced' 카테고리의 다른 글
[Linux] [CentOS] 프로세스 정보 확인 (0) | 2022.11.13 |
---|---|
[Linux] [CentOS] 시스템 구성 정보 확인 (3) | 2022.10.26 |
[Linux] netfilter와 iptables (1) | 2022.10.03 |
[Linux] [CentOS] vmcore 분석 (0) | 2022.09.24 |
[Linux] [CentOS] Jumbo Frame (0) | 2022.09.18 |