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.