Я розумію, що баланс навантаження - це спосіб вимірювати, наскільки зайнятий процесор. Однак я не розумію, як 0.00
може існувати середня навантаження . Чи не працює ядро завжди? Це не бере частину завантаження процесора?
Я розумію, що баланс навантаження - це спосіб вимірювати, наскільки зайнятий процесор. Однак я не розумію, як 0.00
може існувати середня навантаження . Чи не працює ядро завжди? Це не бере частину завантаження процесора?
Відповіді:
Середнє навантаження за певний проміжок часу - це середня кількість процесів, які конкурували за процесор за цей проміжок часу. "Ядро" не запускається, якщо нічого не робити; точніше, якщо нічого не робити, CPU надається спеціальній "простою" нитці, яка не враховується (і яка може робити такі речі, як поставити CPU - це стан, коли він чекає переривання).
Так, наприклад, середнє завантаження в 0,6 протягом 5 хвилин зазвичай означає, що протягом цих 5 хвилин процесор використовувався загалом 3 хвилини деяким процесом (або ядром), і загалом 2 хвилини простоював. Але, як зауважує @UKMonkey, це може означати, що через 4 з половиною хвилини нічого не роблячи, 6 процесів змагалися за процесор за останні 30 секунд ...
Процесор працює в режимі очікування - немає жодного процесу, який хоче використовувати його для запуску коду, тому що всі процеси або чекають завершення операції введення або виводу, або сплять в очікуванні, коли прокинуться в певний майбутній час.
@ Посилання Пантери надають більш глибокі обговорення середніх показників навантаження.
Середня завантаженість - це міра того, наскільки перевантажене ядро процесора з точки зору кількості процесів, які хочуть використовувати його одразу.
Наступні припускають одноядерний (один потік) процесор:
0,0
Процесор взагалі нічого не робить. Якби процес почав використовувати процесор, то він буде єдиним, хто ним користується.
Холостий процесор не означає, що немає запущених процесів. Наприклад, фонові служби та ядро все ще працюють і все ще займають пам'ять. Вони просто не використовують жоден процесор, тому що вони нічого не роблять.
1,0
Процесор використовує максимальне використання, але між процесами для використання процесора є нульова суперечка. Тобто працює лише один процес, щоб він міг вимагати 100% часу процесора для себе. Крім того, запущено кілька процесів, але жоден не вимагає 100% процесора, а їх комбіноване використання процесора додає до 100%. Всі вони все ще працюють так швидко, як і вони, якщо б у них був процесор.
Більше 1,0
Центральний процесор використовує максимальне використання, і є кілька процесів, які хочуть використовувати його одночасно, тому вони ефективніше працюють повільніше, ніж в іншому випадку вони зможуть працювати на простої процесора. Наприклад, середнє навантаження в 3,0 вказує на те, що процеси працюють на третину швидкості, яку вони хочуть запустити. Середнє навантаження 50,0 вказує на те, що процеси працюють на 1/50 зі швидкістю, яку вони хочуть запустити, за рахунок всіх інших запущених процесів. Тобто цифри, що перевищують 1,0, вказують на те, що доступний процесор розтягується між дедалі більшою кількістю процесів.
Наявність багатоядерного процесора не змінює значення цифр, але може змінити їх інтерпретацію. Наприклад, якщо у вас 4-ядерний процесор, навантаження 1,0 все одно еквівалентно одному процесу, використовуючи 100% ЦП на одному ядрі, але є три інші ядра. Отже, на 4-х ядерних процесорах точка максимальної ефективності становить 4,0, а не 1,0 - а точка, в якій все працює при 1/3 ефективності, становить 12,0, а не 3,0. Щоб додати складності, один процес може мати більше одного потоку, кожен з яких вимагає ЦП свого власного. Таким чином, один процес може використовувати 100% усіх 4 ядер, якщо він багатопотоковий.
Важлива примітка
Використання процесора - це лише один ресурс, який може обмежувати продуктивність процесу. Введення / виведення - це інше, і воно не враховується в завантаження процесора. Процес, що використовує певну кількість процесора, не обов'язково зможе більше використовувати на більш легкій машині, оскільки вони можуть потрапити в інші вузькі місця.
Який найкращий середній показник завантаження
Це дійсно залежить від того, що ви робите, і чи віддаєте перевагу чуйність, або для того, щоб процесор працював максимально наполегливо.
Для того, що потрібно зробити якомога більше, середня навантаження повинна бути на рівні або трохи вище кількості ядер. Все набагато більше, ніж це, вказує на те, що ви могли би зробити більше, якщо швидше розділити завдання на більше комп’ютерів / серверів.
Для того, що потрібно максимально реагувати (швидко реагувати), середнє навантаження повинно бути зручним запасом, меншим за кількість ядер, таким як половина чи одна третина, що дозволяє певні переривчасті зміни до того, як відбудуться сповільнення.
Для гостя з віртуалізації (наприклад, KVM) чим нижче середнє навантаження, тим краще, оскільки ви фактично ділите процесор з іншими гостями на тому ж хості.
D
процеси держави завжди включаються в середню завантаженість в Linux. Так, це заплутано. Так, перш за все, ми повинні дивитись на інші показники, ніж середнє значення завантаження.
Середнє завантаження 0,00 в основному означає, що ваша система працює в режимі очікування та не має затримок, стресів або вузького місця у вашому процесорі протягом вимірюваного часу.
Це не означає, що ваш процесор неактивний, це просто означає, що якщо процес вимагає часу процесора, немає очікування.
Важко сказати більше від того, що мало ви опублікували, оскільки це може залежати від того, як ви вимірювали навантаження (систему, на користувача?) Та протягом якого часу.
Детальніше та цікаве читання див
https://www.tecmint.com/understand-linux-load-aasures-and-monitor-performance/
http://blog.scoutapp.com/articles/2009/07/31/understanding-load-aasures
http://www.brendangregg.com/blog/2017-08-08/linux-load-aasures.html