Что делает команда top в Linux?

Ответ

Команда top — это интерактивный системный монитор, который в реальном времени отображает информацию о работающих процессах и общем состоянии системы.

Основная информация, которую показывает top:

  1. Общая сводка системы: время работы (uptime), количество пользователей, средняя нагрузка (load average).
  2. Использование ресурсов: загрузка CPU (разбитая на пользовательскую, системную и т.д.), использование оперативной памяти (RAM) и swap-памяти.
  3. Динамический список процессов с колонками:
    • PID — идентификатор процесса.
    • USER — владелец процесса.
    • %CPU, %MEM — потребление процессора и памяти.
    • COMMAND — имя команды или процесса.

Пример фрагмента вывода:

top - 15:30:45 up 10 days,  1:23,  2 users,  load average: 0.08, 0.03, 0.01
Tasks: 112 total,   1 running, 111 sleeping,   0 stopped,   0 zombie
%Cpu(s):  2.1 us,  0.5 sy,  0.0 ni, 97.4 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
MiB Mem :   7852.3 total,   3245.1 free,   2101.2 used,   2506.0 buff/cache
MiB Swap:   2048.0 total,   2048.0 free,      0.0 used.

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
 1234 app-user  20   0  400768  98128  18708 S   6.2  1.2   2:30.67 php-fpm
 5678 db-user   20   0 1254344 250112  45012 S   1.5  3.1   5:12.45 mysqld

Полезные интерактивные команды внутри top:

  • P — сортировка по использованию CPU (по умолчанию).
  • M — сортировка по использованию памяти.
  • k — завершить процесс (запросит PID).
  • q — выход из утилиты.

Ответ 18+ 🔞

Давай разберём эту штуку, которая называется top. Представь, что твой сервер — это такой муравейник, а top — это супер-пупер стеклянный улей, через который ты видишь, какой муравей какую хрень тащит, кто прохлаждается, а кто уже сдох, но его ещё не выкинули. В общем, ебать мои старые костыли, это главный прибор для того, чтобы понять, что у тебя там творится.

Что она тебе показывает, эта мартышлюшка:

  1. Общая картина бардака: сколько система уже не выключалась (uptime), кто в неё сейчас тыкает, и самое главное — средняя нагрузка (load average). Если там цифры больше, чем ядер у процессора — это как в однокомнатную квартиру набилось овердохуища гостей, и все хотят в туалет. Терпения ноль ебать.
  2. Кто что жрёт: подробно, какого хуя процессор загружен — это пользовательские программы (us), системные дела (sy) или он просто тупит в ожидании (wa). Плюс оперативка и своп. Если своп активно используется, а оперативки свободной — кот наплакал, это пиздец, чувак. Система начинает бздеть и тормозить.
  3. Самый сок — список процессов. Вот они, твари, во всей красе:
    • PID — его личный номер, как в тюрьме.
    • USER — чья это шалость.
    • %CPU, %MEM — сколько он хавает процентов и памяти. Если какой-то один процесс жрёт 150% CPU — это хуй с горы, он сошёл с ума.
    • COMMAND — как эта падла называется.

Вот смотри, как это выглядит в жизни:

top - 15:30:45 up 10 days,  1:23,  2 users,  load average: 0.08, 0.03, 0.01
Tasks: 112 total,   1 running, 111 sleeping,   0 stopped,   0 zombie
%Cpu(s):  2.1 us,  0.5 sy,  0.0 ni, 97.4 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
MiB Mem :   7852.3 total,   3245.1 free,   2101.2 used,   2506.0 buff/cache
MiB Swap:   2048.0 total,   2048.0 free,      0.0 used.

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
 1234 app-user  20   0  400768  98128  18708 S   6.2  1.2   2:30.67 php-fpm
 5678 db-user   20   0 1254344 250112  45012 S   1.5  3.1   5:12.45 mysqld

Видишь? Всё спокойно. Проц (id) почти 98% без дела валяется, памяти свободной — завались. Только две службы (php-fpm и mysqld) себе потихоньку работают. Идеальная картина.

А вот чтобы этим управлять, есть клавиши — просто золото:

  • P — отсортировать, кто больше всех грузит процессор. Кто главный обжора — тот сверху.
  • M — отсортировать по памяти. Кто оперативку хавает как не в себя — вылезай, хитрая жопа!
  • k — это святое. Нажал, ввёл PID — и процессу кабзда. Только осторожно, вы ходите по охуенно тонкому льду, можно систему убить.
  • q — просто выйти. Всё, надоело смотреть на этот цирк — нажал и свободен.

Вот и вся магия. Сидишь, смотришь, и если что-то пошло не так — сразу видно, кто виноват. Удобная, блядь, штука.