У мене на ПК встановлений 1 ядерний процесор . Іноді, uptime
показує навантаження> 1. Як це можливо і що це означає?
EDIT: Значення піднімаються до 2.4
У мене на ПК встановлений 1 ядерний процесор . Іноді, uptime
показує навантаження> 1. Як це можливо і що це означає?
EDIT: Значення піднімаються до 2.4
Відповіді:
Навантаження не дорівнює використанню процесора. Це в основному показник, скільки процесів очікують на виконання.
Кілька корисних посилань:
htop
приємний «графічний» огляд.
uptime
показує завантаження системи (не саме використання процесора), яке описано man uptime
нижче:
Середнє навантаження системи - це середня кількість процесів, які перебувають у стані запуску або безперебійного. Процес у стані, що виконується, або використовує процесор, або чекає використання процесора. Процес у безперебійному стані чекає деякого доступу вводу / виводу, наприклад, очікування диска. Середні значення приймаються протягом трьох часових інтервалів. Середні показники навантаження не нормалізуються для кількості процесорів у системі, тому середнє навантаження 1 означає, що одна система процесора завантажується весь час, тоді як у системі 4 процесора це означає, що вона простояла 75% часу.
Поки навантаження менше, ніж кількість ядер CPU у вас, це повинно бути добре. Якщо він потрапить вище, це означає, що ваша система не в змозі впоратися зі своїм навантаженням "у режимі реального часу". Таким чином, деяким процесам потрібно чекати, щоб отримати час процесора (або доступу до IO). Створюється лінія очікування.
Якщо у вас 2,7 завантаження, це означає, що в середньому (протягом останніх 1, 5 або 15 хвилин, залежно від значення, на яке ви дивитесь) 2,7 процеси намагаються виконувати паралельно, але у вас є лише 1 ядро, тож ваша система перевантажений. Ви занадто багато просите від цього.
Не панікуйте, однак, це може бути не такою проблемою: як тільки робота закінчена, справи зазвичай приходять у норму.
Пробіг показує вихід /proc/loadavg
для вантажів.
Сторінка man 5 proc
каже
/proc/loadavg
The first three fields in this file are load average figures giving
the number of jobs in the run queue (state R) or waiting for disk
I/O (state D) averaged over 1, 5, and 15 minutes.
Таким чином, ви можете мати високі навантаження, навіть якщо у вас є 0% використання процесора. Один Core може отримувати навантаження до 100% або 1 на багатопроцесорних системах.
Див. Також Високе завантаження процесора під час вводу / виводу
ps aux --sort -rss |head -15
Це дозволить сортувати 15 процесів, які найбільше використовуються у пам'яті rss
Також це буде сортувати найбільш використовувані процеси за допомогою процесора та пам'яті
ps aux --sort -pid |head -15
Якщо у вас є 1 завантаження процесора, більше 1 попереджає, перегляньте список процесів і подивіться, хто з них використовує найбільше процесора та оперативної пам'яті
Коли ви бачите найбільш використовувані процеси, спробуйте дізнатися, з якими файлами відкрито
lsof -p [PID_most_used]
Також було б добре, якщо ви дасте ouptut з верхньої команди
load
відрізняється відload average
. Як сказав @michas, навантаження - це показник для кількості процесів, які очікують на виконання, але середнє навантаження - це середнє завантаження системи, обчислене за певний проміжок часу 1, 5 та 15 хвилин.