> Как пользоваться программой top в Linux (Go)

Уровень: senior · Роль: backend · Категория: Технические вопросы

Компании: VK

Стек: Go

> Пример ответа

Утилита top - это интерактивный монитор процессов в Linux, который показывает в реальном времени загрузку CPU, памяти, список запущенных процессов и другую системную информацию. Для backend-разработчика на Go она незаменима при отладке производительности.

Основные команды внутри top:

  • h - справка по горячим клавишам.

  • q - выход.

  • k - завершить процесс (ввести PID и сигнал, например, 9 для SIGKILL).

  • r - изменить приоритет (renice) процесса.

  • 1 - показать загрузку каждого ядра CPU.

  • M - сортировка по использованию памяти (%MEM).

  • P - сортировка по использованию CPU (%CPU).

  • u - фильтр по имени пользователя.

  • c - показать полный путь к команде (вместо сокращённого имени).

  • Shift + W - сохранить текущие настройки в ~/.toprc.

Ключевые поля вывода:

  • PID - идентификатор процесса.

  • %CPU - процент использования CPU процессом (относительно одного ядра, может превышать 100% на многопоточных приложениях).

  • %MEM - процент используемой физической памяти.

  • VIRT - виртуальная память (включая shared libraries, mmap и т.д.).

  • RES - резидентная память (физическая память, занятая процессом).

  • SHR - разделяемая память (например, библиотеки).

  • S - состояние процесса (R - running, S - sleeping, D - uninterruptible sleep, Z - zombie).

Пример использования для Go-приложения:
Запустите top, нажмите u и введите имя пользователя, от которого запущено ваше Go-приложение. Если процесс потребляет много CPU, нажмите P для сортировки по CPU. Если память - M. Для детального анализа можно нажать f и добавить/убрать поля (например, nTH для числа потоков, что важно для Go-горутин, отображаемых как потоки в top).

Важно: top показывает системные потоки (каждый поток Go-приложения - отдельная строка, если не включено объединение). Для Go-приложений с большим числом горутин это может быть шумно. В таких случаях удобнее использовать htop (с поддержкой дерева процессов) или atop для долгосрочного мониторинга.

> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?

Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью