Unix / Linux에서로드 평균은 무엇을 의미합니까?


68

을 실행 uptime하면 다음과 같은 결과가 나타납니다.

10:50:30 up 366 days, 23:27,  1 user,  load average: 1.27, 2.06, 1.54

끝에있는 숫자는 무엇을 의미합니까? 매뉴얼 페이지에 "최근 1, 5, 15 분 동안의 시스템로드 평균"이 표시됩니다. 그러나 규모는 무엇입니까? 1.27이 높습니까? 낮은? 시스템에 따라 다릅니 까?


2
멀티 코어 CPU 시스템에서로드 평균을 어떻게 해석해야하는지 궁금합니다.
nagul

3
일반적으로로드 평균을 다중 코어 시스템의 CPU 수로 나눠야합니다. 따라서 듀얼 코어 시스템에서 2.0의로드는 단일 코어 시스템에서 1.0과 거의 같습니다. 디스크 I / O 및 네트워크 트래픽과 같은 이유로 이것은 사실이 아니지만로드는 어쨌든 대략적인 추정치입니다.
Mike Cooper

1
이 블로그가 정말 유용하다는 것을 알았습니다. Linux CPU로드 이해
atmaish

답변:


59

로드 평균은 평균적인 프로세스 수를 나타내는 동시에 CPU주의를 요구하는 게이지입니다.

일반적으로 하나의 프로세스가 100 %로 실행 중이고 영원 토록 그대로 유지되는 경우 모든 값이 '1'에 도달 할 것으로 예상 할 수 있습니다.

일반적으로 이것은 컨텍스트 전환으로 인한 손실없이 얻을 수있는만큼 효율적인 컴퓨팅입니다.

그러나 최신 멀티 태스킹 OS에는 CPU주의가 필요한 것이 하나 이상 있으므로 단일 프로세스에서로드가 적당 할 경우로드 평균은 0.8에서 2 사이 여야합니다.

make -j 60논리 프로세서가 하나만 있음에도 불구하고 커널을 빌드하는 등 미친 짓을하기로 결정하면 로드 평균이 60을 향해 돌진하고 컴퓨터가 엄청나게 쓸모가 없게됩니다 (컨텍스트 전환으로 인한 사망).

또한이 지표는 코어 / CPU 수에 관계없이 적용됩니다. 2 코어 시스템의 경우 전체 코어를 소비하는 하나의 프로세스를 실행하면 (다른 유휴 상태)로드 평균 1.0이 발생합니다. 시스템의로드 방법을 결정하려면 코어 수를 알고 나눗셈을 직접 수행해야합니다.


1
따라서로드 평균이 1보다 작 으면 "프로세스는 일반적으로 기다릴 필요가 없습니다"라는 의미입니까? 로드 평균 2를 "각 프로세스가 이상적인 조건에서보다 두 배나 오래 걸리는"것으로 해석 할 수 있습니까? (걱정할 I / O도 있다는 것을 알고 있습니다)
John Fouhy

그렇습니다. IO는 무시하고 말이됩니다.)
Kent Fredric

@KentFredric "일반적으로, 이것은 문맥 전환으로 인한 손실없이 얻을 수있는만큼 효율적인 컴퓨팅입니다."... 1 개의 프로세스가 100 % 항상 실행되고 있습니까? 분명히 여기에 근본적인 것이 빠져 있습니다. 무슨 뜻인지 설명해 주시겠습니까? 모든 CPU 리소스를 호핑하는 한 프로세스가 어떻게 효율적이라고 설명 할 수 있습니까?
Geek

2
100 %에서 실행되는 프로세스가 "효율적인"것으로 보이지는 않지만 프로세스가 임의로 20 % 만 사용하도록 제한 한 경우 5 배의 시간이 걸립니다. 여기서 효율성은 "최적의 리소스 활용"을 의미합니다.
Kent Fredric

1
따라서 n 코어 시스템의 경우,로드 평균 n은 각 코어가 프로세스를 100 % 처리하고 있었기 때문에 가장 효율적이라는 것을 의미합니다.
joshreesjones

9

남자 5 proc :

/ proc / loadavg이 파일의 처음 세 필드는 실행 큐 (상태 R)의 작업 수를 제공하거나 1, 5 및 15 분 동안 평균 디스크 I / O (상태 D)를 기다리는로드 평균 수치입니다. . 가동 시간 (1) 및 기타 프로그램에서 제공 한로드 평균 수와 동일합니다.


3

일반적으로 지정된 시간에 활성 프로세스 수를 측정하지만이를 계산하는 데 사용되는 메트릭은 일부 시스템에서 다릅니다. 내가 찾은 유일한 기사는 이것을 잘 설명합니다 .


2
이 링크의 날짜는 '03입니다. 그때부터 리눅스 2.6이 나왔다. (2.0, Ouch를 사용하고 있음을 알 수 있습니다.) 이제 측정 항목이 실제로는 해당 페이지에 명시된 측정 항목과 약간 다르게 나타납니다.
Kent Fredric

: 여기에 링크 된 기사에서 그 차이가 없다 '06의 끝에서 하나 linuxjournal.com/article/9001
nagul

귀하의 링크는 여전히 작동하며 터미널 출력은 2001 년입니다. 굉장합니다
MS Berends

2

코스의 참고 문헌을 인용합니다.

하중 평균은 주어진 시간 동안의 하중 수의 평균입니다. 다음과 같은 프로세스를 고려합니다.

  • CPU에서 활발히 실행 중입니다.
  • 실행 가능하지만 CPU가 사용 가능할 때까지 기다립니다.
  • 수면 : 즉, 어떤 종류의 리소스 (일반적으로 I / O)를 사용할 수있게되기를 기다리는 중입니다.

로드 평균을 해석하는 것에 대해 더 많이 인용합니다 .

다음 예와 같이 하중 평균은 세 가지 다른 숫자 세트를 사용하여 표시됩니다.

마지막 정보는 시스템의 평균 부하입니다. 시스템이 단일 CPU 시스템이라고 가정하면 0.25는 지난 1 분 동안 평균적으로 시스템이 25 % 활용되었음을 의미합니다. 다음 위치에서 0.12는 지난 5 분 동안 평균적으로 시스템이 12 % 활용되었음을 의미합니다. 최종 위치에서 0.15는 지난 15 분 동안 평균적으로 시스템이 15 % 활용되었음을 의미합니다. 두 번째 위치에서 1.00의 값을 보았을 경우 단일 CPU 시스템이 평균적으로 지난 5 분 동안 100 % 활용되었음을 의미합니다. 시스템을 완전히 사용하려면 좋습니다. 단일 CPU 시스템의 값이 1.00을 초과하면 시스템이 과도하게 사용되었음을 나타냅니다. 사용 가능한 CPU보다 CPU가 필요한 프로세스가 더 많았습니다.

쿼드 CPU 시스템과 같이 CPU가 둘 이상인 경우로드 평균 수를 CPU 수로 나눕니다. 예를 들어, 1 분로드 평균 4.00이 표시되면 시스템은 전체적으로 마지막 1 분 동안 100 % (4.00 / 4) 사용 된 것입니다.

단기 증가는 일반적으로 문제가되지 않습니다. 당신이 보는 높은 피크는 새로운 수준이 아닌 활동의 파열 일 가능성이 높습니다. 예를 들어, 시작할 때 많은 프로세스가 시작된 다음 활동이 정착됩니다. 5 분과 15 분의로드 평균에서 높은 피크가 보이면 우려 할 수 있습니다.


참조에 대한 링크를 추가하는 것이 편리합니다.
Pierz

어렵습니다. LFCS 시험을 준비하기위한 Linux Foundation의 온라인 과정입니다.
Ely
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.