Linux Labs

Пользователи, права, процессы / Ступень 10 из 13

Наблюдение за процессами

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

Шаг 5 из 7 · теория · 4 мин

Процессор: top и ps

top и ps показывают столбец %CPU, но считают его за разное время. Перепутаешь — примешь давно затихший процесс за виновника нагрузки.

top пересчитывает %CPU при каждом обновлении экрана — за последние три секунды. Поэтому в нём видно, кто занимает процессор сейчас. Сколько процессорного времени процесс набрал за всю жизнь, top показывает в столбце TIME+.

ps делит это набранное время на всё время жизни процесса. Процесс, который час назад работал без остановки, а теперь спит, ps покажет с заметным %CPU, а top — с нулём.

Над списком top печатает сводку. В строке Tasks — сколько всего процессов и сколько из них выполняется (running), спит (sleeping) и остановлено (stopped).

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

Ночная выгрузка час работала без остановки, а теперь ждёт. Что покажут ps и top в столбце %CPU?

  • top считает %CPU за последние три секунды, а в них процесс спал. Заметную долю покажет только ps, который считает за всю жизнь процесса.

  • Наоборот: top смотрит на последние секунды, где процесс спал, а ps — на всю жизнь процесса, где был час работы.

  • ps делит набранное процессорное время на всё время жизни процесса, и час работы оставляет заметный %CPU. Ноль покажет top: он считает за последние секунды.

ps делит процессорное время процесса на всё время его жизни, а top — на последние секунды между обновлениями. Поэтому, кто занимает процессор сейчас, смотрят в top.

Главное в шаге

  • top считает %CPU за последние секунды: он показывает, кто занимает процессор сейчас.
  • ps делит процессорное время на всё время жизни процесса, поэтому помнит прошлую нагрузку.
Ubuntu 24.04
Загрузка…