Наскільки високим може бути завантаження системи?


12

Кожен раз, коли я входжу на свої сервери через SSH, це спалахує мені трохи інформації про сервер. IP адреса IE, використання заміни, використання пам’яті тощо. Однією з інших речей, які мене спалахує, є завантаження системи. Зараз більшість часу кількість завантажених систем становить <0,10, але в інший раз я бачив, що це збільшується до 0,89 (зазвичай це стосується завантаження).

Це викликає питання, наскільки високим може бути завантаження системи? Наприклад, чи можна піднятися до 2,00 навіть 100,00?


Дробова частина вказує на використання процесора, десяткова частина - кількість процесів очікування. Щось подібне 100.89було б більше, ніж100.00
Лекенштейн


@Caleb, я не згоден, що це дублікат. Цілком можливо, що ОП мав намір запитати щось подібне, наприклад, "наскільки високою може бути завантаження системи (і все-таки працює прийнятно)?". Але як це висловлено, це не те саме питання.
Циклоп

@Cyclops: Якщо ОП не має наміру задавати питання про прийнятні рівні на серверах і задає суто теоретичне запитання про те, як працюють * nix системи, це не буде тут темою і кандидатом на перехід на unix.SE?
Калеб

Відповіді:


17

Це викликає питання, наскільки високим може бути завантаження системи? Наприклад, чи можна піднятися до 2,00 навіть 100,00?

Абсолютно. Переглядаючи uptimeсторінку чоловіка:

   System load averages is the average number of processes that are either
   in a runnable or uninterruptable state.  A process in a runnable  state
   is  either  using the CPU or waiting to use the CPU. A process in unin‐
   terruptable state is waiting for some I/O access, eg waiting for  disk.
   The  averages  are  taken over the three time intervals.  Load averages
   are not normalized for the number of CPUs in a system, so a load  aver‐
   age  of 1 means a single CPU system is loaded all the time while on a 4
   CPU system it means it was idle 75% of the time.

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

У ненавантаженій системі середнє навантаження зазвичай буде знаходитись у діапазоні 0 <= load_average <= n , де n - кількість ядер у вашій системі.


1
Так, очікування вводу-виводу - це простий спосіб створити велике навантаження: встановити частку nfs, повернути nfs-сервер, запустити 10 000 процесів, які намагаються торкнутися чогось на nfs-долі: бум, завантаження 10 000
єнів Тиммерман

5

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

Який рівень прийнятний залежить від машини, кількості ядер, виду планувальника завдань ядра, який використовується, та завдань, які ви очікуєте від нього. У мене є кілька машин, які цілком задоволені в діапазоні ~ 10, але занепали, якщо вдарять ~ 40-50. Інші стають помітно відсталими у 2 і будуть непридатними у 10.

Це незвично, що навантаження є високою під час завантаження, оскільки багато справ робиться одночасно, і машина намотується. Я вважав би ~ 1 цілком нормальним навантаженням, щоб потрапити під durring завантаження для робочого столу Linux, потім встановившись до ~ 0,1, не роблячи нічого.


3
Незначна корекція: Середнє навантаження не є показником часу. Це середня кількість процесів, які очікують. Немає способу визначити різницю між 1) одним процесом, що приєднує процесор, і іншим, який ніколи його не отримує, і 2) двома процесами, які постійно торгуються. Обидва вони будуть завантажувати 1,0.
Plutor

1
Я бачив 1500+ на серйозно розлюченій linux box. Потім воно померло.
Том О'Коннор

3

В Linux середні значення завантаженості системи складаються з процесів в одному з трьох різних станів. Загалом, можна сказати, що середня завантаженість - це кількість процесів, які чекають часу процесора або споживають час процесора. Три значення в огляді середнього навантаження - це середнє значення навантаження за минулу хвилину, останні 5 хвилин та останні 15 хвилин.

Три різні стани процесів, що зараховуються до середнього навантаження, це: (1) процеси, що працюють на процесорі, (2) процеси, що очікують на час процесора, і (3) процеси в режимі безперебійного сну. Остання категорія, не генеруючи навантаження на процесор, може значно збільшити середнє завантаження системи.

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

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


Я думаю, що це погано, лише якщо вони пов'язані з процесором, що трапляється рідко. Більшість великих процесів пов'язані IO або / та RAM.
петерх

3

Зробіть простий процес C, виконуючи нескінченні петлі в 10000 ниток. Надайте йому дуже низький пріоритет (+20). Ваша навантаження складе 10000, тоді як ваша система все ще буде корисною. Він буде використовувати лише дуже мало оперативної пам’яті (щонайбільше декількох мегабайт).

Хоча це досить рідкісна конфігурація, в реальних системах ви цього не знайдете.

Навантаження системи означає лише середню кількість процесів, які очікують на проміжок часу процесора, не менше і не більше. Ось ще одна відповідь про правильний спосіб інтерпретації завантаження системи .

У щоденному досвіді навантаження понад 30 і більше означає певну проблему.


2

Кілька секунд після вбивства процесу, який з'їдав старий процесор 450 МГц:

введіть тут опис зображення


1

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


1

Я бачив сервер, що працює при> 200 завантаження.

Я би стрес-тест і бачу.

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