Linux Labs

Система изнутри: ресурсы, ядро, процессы / Ступень 1 из 12

Load average и загрузка процессора

Не запущена Запускается обычно ~20 с
Выйти из урока

Шаг 4 из 7 · на машине · 6 мин

Очередь к процессору

Теперь нагрузка другого рода: процессы, которым нужен только процессор.

Упражнение · посмотреть

Три процесса на одном процессоре

Запусти в фоне stress-ng: три процесса, которые 60 секунд только считают. Потом посмотри vmstat и состояния процессов stress-ng.

Сначала предположи

Три процесса считают без остановки, процессор один. Какое число vmstat покажет в столбце r в строках после первой?

Теперь начни упражнение, выполни команду и сверь прогноз с выводом.

Войти и начать Машина доступна после входа

vmstat 1 5 печатает пять строк с интервалом в секунду. Первая — среднее с загрузки машины, текущее состояние — в следующих. Столбец r — сколько процессов в R: три stress-ng-cpu — рабочие процессы stress-ng, иногда и сам vmstat. Пока они считают, load average растёт к трём — как в начале урока, только теперь процессор занят.

Группа cpu справа — доли времени процессора в процентах:

Поле На что ушло время
us программы
sy ядро по просьбам программ
id простой
wa простой, пока процессы ждут ввода-вывода
st время, которое забрал хост у виртуальной машины

Строка %Cpu(s) в top — те же поля. Высокий load вместе с id около нуля — очередь к процессору. Высокий load при большом id — процессы в D: причину ищи в хранилище.

Проверь себя 1 вопрос

На сервере 4 процессора. uptime — load average: 6.10, 5.80, 5.20, vmstat — r около 6, id 0. Что сделаешь первым?

  • Порога 10 нет: load сравнивают с числом процессоров. 6 на четырёх процессорах — двое постоянно ждут очереди.

  • Процессы, которые ждут диск, сидят в D, и процессор при этом простаивает. Здесь id 0 и r около 6 — очередь к процессору.

Load выше числа процессоров при id 0 и большом r — очередь к процессору. Начинают с тех, кто занимает его больше всех: top сортирует по %CPU.

Ubuntu 24.04
Загрузка…