linux / proc / loadavg


78

При видачі цієї команди з Linux:

# cat /proc/loadavg
0.75 0.35 0.25 1/25 1747

Які останні 2 числа?

Останній постійно збільшується на 2 щосекунди, чи варто хвилюватися?

Відповіді:


85

/ proc / loadavg

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

Четверте поле складається з двох чисел, розділених косою рискою (/). Перший з них - це кількість поточно виконуваних сутності планування ядра (процеси, потоки); це буде менше або дорівнює кількості процесорів. Значення після скісної риски - це кількість сутностей планування ядра, які наразі існують у системі.

П'яте поле - це PID процесу, який був нещодавно створений в системі.


1
Користувачі повинні враховувати ці значення під час запуску GNU makeз --load-average=N.Nпараметром. Якщо makeсереднє навантаження чисельно перевищує кількість ядер процесора, його makeслід перезапустити зі --load-averageзменшеним. Таким чином, система не буде перевантажена компіляцією.

2
Якщо система завантажилася до 5 хвилин, то як вони будуть обчислювати середнє навантаження за 15 хвилин? Чи будуть вони використовувати лише 5-хвилинні дані?
shafeeq

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

1
П'яте поле не таке, як описано у відповіді: насправді це останній виділений ПІД .
Mike Aski

20

Я хотів би прокоментувати прийняту відповідь.

Четверте поле складається з двох чисел, розділених косою рискою (/). Перший з них - це кількість поточно виконуваних сутності планування ядра (процеси, потоки); це буде менше або дорівнює кількості процесорів.

Я зробив тестову програму, яка зчитує ціле число N з вводу, а потім створює N потоків і запускає їх назавжди. На комп'ютері RHEL 6.5 у мене 8 процесорів, і кожен процесор має гіперпоточність. У будь-якому випадку, якщо я запускаю свій тест, і він створює 128 потоків, я бачу в четвертому полі значення, які перевищують 128, наприклад 135. Це явно більше, ніж кількість процесора. Цей пост підтримує моє спостереження: http://juliano.info/en/Blog:Memory_Leak/Understanding_the_Linux_load_average

Варто зазначити, що поточне пояснення на сторінці керівництва proc (5) (станом на man-pages версія 3.21, березень 2009 р.) Є помилковим. Він повідомляє перше число четвертого поля як кількість поточно виконуваних об'єктів планування, і тому передбачає, що воно не може бути більшим за кількість процесорів. Це не відповідає реальній реалізації, де це значення повідомляє поточну кількість запущених потоків.


5
Можна підтвердити: ядро / Планове / core.c nr_running () описує себе як збір працездатною на відміну від запущених завдань.
fche

14

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

https://docs.fedoraproject.org/en-US/Fedora/17/html/System_Administrators_Guide/s2-proc-loadavg.html


6
Я рішуче заперечую проти цього визначення. Перші три цифри не вимірює CPU і I / O використання безпосередньо , вони представляють собою середнє число робочих місць в черзі виконання або очікування введення / виведення, в якості відповіді від @auselen держав.
січня

2

Наступна сторінка детально пояснює це:

http://www.brendangregg.com/blog/2017-08-08/linux-load-average.html

Я викладаю тлумачення цих цифр, які я отримав із наведеної сторінки, наступним чином:

  • Якщо середні значення 0,0, то ваша система не працює.
  • Якщо середнє значення за 1 хвилину перевищує середнє значення за 5 або 15 хвилин, навантаження збільшується.
  • Якщо середнє значення за 1 хвилину нижче середнього за 5 або 15 хвилин, навантаження зменшується. Якщо вони перевищують кількість процесорів, можливо, у вас проблема з продуктивністю (це залежить).
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.