Що означає середнє завантаження на Unix / Linux?


68

Якщо я біжу uptime, я отримую щось подібне:

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

Що означають ці цифри на кінці? Сторінка man каже мені, що це "середня завантаженість системи за останні 1, 5 та 15 хвилин". Але що таке масштаб? 1.27 високий? Низький? Це залежить від моєї системи?


2
Цікаво, як слід інтерпретувати середню завантаженість у багатоядерній системі процесора.
нагул

3
Як правило, слід розділити середню завантаженість на кількість процесорів для багатоядерних систем. Отже, навантаження в двоядерній системі 2,0 приблизно еквівалентно 1,0 в одноядерній системі. Це не зовсім вірно, тому що такі речі, як дисковий введення / виведення та мережевий трафік, але навантаження все одно є якоюсь грубою оцінкою.
Майк Купер

1
Я вважаю цей блог дуже корисним: Розуміння завантаження процесора Linux
atmaish

Відповіді:


59

Середнє навантаження - це показник кількості процесів у середньому, одночасно вимагаючи уваги процесора.

Як правило, якщо у вас один процес працює на 100%, і він просто так працює протягом усієї вічності, ви можете розраховувати, що всі значення наблизяться до "1".

Як правило, це настільки ефективні обчислення, скільки ви можете отримати, втрат через перемикання контексту.

Однак у сучасних багатозадачних ОС існує більше ніж одна річ, яка потребує уваги процесора, тому при помірній кількості навантаження від одного процесу середня завантаженість повинна плавати між 0,8 і 2.

Якщо ви вирішили зробити щось божевільне, як, наприклад, створити ядро make -j 60, незважаючи на те, що у вас є лише один логічний процесор, то середнє навантаження буде кидатися до 60, а ваш комп'ютер буде для вас неймовірно марним (смерть за допомогою контекстного перемикача).

Також слід зазначити, що цей показник незалежно від кількості ядер / процесорів. Для системи з двома сердечками запуск одного процесу, що споживає ціле ядро ​​(залишаючи інший в режимі очікування), призводить до середнього навантаження 1,0. Для того, щоб визначити, наскільки завантажена система, вам потрібно буде знати кількість ядер і зробити поділ самостійно.


1
Отже, середня завантаженість менше 1 означає "Процеси взагалі ніколи не повинні чекати"? Чи можу я інтерпретувати навантаження в середньому 2 як "Кожен процес займає приблизно в два рази довше, ніж це було б в ідеальних умовах"? (Я знаю, що є також I / O для того, щоб переживати)
John Fouhy

Так, це має сенс, ігноруючи IO, тобто;)
Кент Фредрік

@KentFredric "Як правило, це обчислення настільки ефективне, наскільки ви можете отримати, втрат через контекстні комутатори" ... це 1 процес, який на 100% весь час ефективний? Звичайно, я пропускаю тут щось принципове. Чи можете ви поясніть, що ви мали на увазі? Я розгублений, як можна обробити один процес, який приєднав усі ресурси процесора, як ефективний?
Geek

2
Я знаю, що процес, що працює на 100%, не дуже "ефективний", але якщо процес довільно обмежився використанням лише 20%, це займе 5 разів. Тому тут ефективність означає "оптимальне використання ресурсів".
Кент Фредрік

1
Отже, для n-cored системи середнє навантаження n означає, що кожне ядро ​​працює / обробляє процес 100% часу і тому є найбільш ефективною?
joshreesjones

9

man 5 proc:

/ proc / loadavg Перші три поля цього файлу - це середньостатистичні показники завантаження, які дають кількість завдань у черзі виконання (стан R) або очікують, що диск / вхід (вивід D) перебуває у віці понад 1, 5 та 15 хвилин . Вони такі самі, як середні показники завантаження, задані режимом роботи (1) та іншими програмами.


3

Взагалі він вимірює кількість активних процесів за певний час, але показники, які використовуються для його обчислення, відрізняються в деяких системах. Єдина стаття, яку я знайшов, що це досить добре пояснює, - це ця .


2
Це посилання датоване '03 роком. З того часу вийшов Linux 2.6. (Ви зауважите, що вони використовують 2.0, так.) На даний момент показники на практиці дещо відрізняються, ніж ті, які вказані на цій сторінці.
Кент Фредрік

Ось цей з кінця '06 року, який не так відрізняється від пов'язаної статті: linuxjournal.com/article/9001
nagul

Ваше посилання все ще працює, а їх термінальний вихід з 2001 року. Як чудово
MS Berends

2

Я посилаюся на посилання на курс:

Середня навантаження - це середня кількість навантаження за певний проміжок часу. Він враховує процеси, які є:

  • Активно працює на процесорі.
  • Вважається доступним, але чекає, коли процесор стане доступним.
  • Сон: тобто очікування, коли якийсь ресурс (як правило, введення / виведення) стане доступним.

Далі цитую про інтерпретацію середнього навантаження :

Середня навантаження відображається за допомогою трьох різних наборів чисел, як показано в наступному прикладі:

Останній фрагмент інформації - це середнє навантаження системи. Якщо припустити, що наша система є однопроцесорною системою, 0,25 означає, що за минулу хвилину в середньому система використовувалась 25%. 0,12 у наступній позиції означає, що за останні 5 хвилин система в середньому використовувалась на 12%; і 0,15 в кінцевій позиції означає, що за останні 15 хвилин в середньому система використовувала 15%. Якщо ми побачили значення 1,00 у другій позиції, це означало б, що система єдиного ЦП в середньому на 100% використовувалася протягом останніх 5 хвилин; це добре, якщо ми хочемо повністю використовувати систему. Значення понад 1,00 для системи з одним процесором означає, що система була надмірно використана: було більше процесів, які потребують процесора, ніж CPU.

Якби у нас було більше одного процесора, скажімо, системи чотирьохядерних процесорів, ми розділили б середні навантаження на кількість процесорів. Наприклад, у такому випадку, якщо середній показник завантаження в 1 хвилину становить 4,00, означає, що система в цілому була використана на 100% (4,00 / 4) протягом останньої хвилини.

Короткострокові збільшення зазвичай не є проблемою. Високий пік, який ви бачите, швидше за все, сплеск активності, а не новий рівень. Наприклад, при запуску запускається багато процесів, а потім активізується діяльність. Якщо високий пік спостерігається в середньому за 5 та 15 хвилин навантаження, це може викликати занепокоєння.


Було б зручно додати посилання на вашу довідку.
П’єрз

Це важко. Це онлайн-курс від Linux Foundation для підготовки до іспиту LFCS.
Елі
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.