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

«Что делает команда top в Linux?» — вопрос из категории DevOps, который задают на 28% собеседований PHP Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Команда 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 — выход из утилиты.