Главная > Управление пакетами и системой > top

Руководство по команде top: мониторинг системных процессов в реальном времени

Команда `top` (таблица процессов) является инструментом, используемым в операционных системах Linux и Unix для мониторинга активности процессов системы в реальном времени. Она предоставляет динамический обзор текущего состояния системы, включая использование CPU, объем памяти, список запущенных процессов и т. д., что необходимо для диагностики проблем производительности и понимания использования системных ресурсов. В этом руководстве вы научитесь основным способам использования и взаимодействия с командой `top`.

Обзор top

Команда `top` периодически обновляет и отображает использование ресурсов системы (CPU, память, swap) и подробную информацию о каждом процессе. Это позволяет легко определить, какие процессы используют много системных ресурсов, а также мониторить общее состояние здоровья системы.

Основная роль top

Команда `top` в основном используется для следующих целей:

Основные области применения

  • {'key': 'Мониторинг системы', 'value': 'Проверка использования CPU, памяти и пространства swap в реальном времени.'}
  • {'key': 'Управление процессами', 'value': 'Определение состояния запущенных процессов и при необходимости их завершение или изменение приоритетов.'}
  • {'key': 'Диагностика проблем с производительностью', 'value': 'Анализ причин замедления системы или отсутствия ответа.'}
  • {'key': 'Оптимизация использования ресурсов', 'value': 'Идентификация процессов, использующих чрезмерные ресурсы, и принятие мер.'}

Структура вывода top

Команда `top` делит информацию на две основные части:

Сводная информация в верхней части

Показывает общее состояние системы.

  • `uptime`: Время, прошедшее с момента загрузки системы
  • `load average`: Средняя нагрузка на систему за последние 1, 5 и 15 минут (количество процессов в очереди на выполнение)
  • `Tasks`: Общее количество процессов, запущенных, находящихся в спящем состоянии, остановленных и зомби
  • `%Cpu(s)`: Использование CPU (us: пользовательский, sy: системный, ni: nice, id: свободный, wa: ожидание I/O и т. д.)
  • `MiB Mem`: Объем физической памяти (RAM): всего, использовано, свободно, использование буферов/кэша
  • `MiB Swap`: Объем swap-памяти: всего, использовано, свободно

Список процессов в нижней части

Показывает подробную информацию о каждом запущенном процессе. Этот список по умолчанию сортируется по использованию CPU (%).

  • `PID`: Идентификатор процесса
  • `USER`: Пользователь, запустивший процесс
  • `PR`: Приоритет (Priority)
  • `NI`: Значение Nice (используется для регулировки приоритета)
  • `VIRT`: Объем виртуальной памяти, используемой процессом
  • `RES`: Объем фактической физической памяти (RAM), используемой процессом (Resident Memory)
  • `SHR`: Объем памяти, который процесс использует совместно (Shared Memory)
  • `S`: Состояние процесса (R: выполняется, S: спит, Z: зомби, T: остановлен и т. д.)
  • `%CPU`: Использование CPU процессом (в реальном времени)
  • `%MEM`: Использование памяти процессом (в реальном времени)
  • `TIME+`: Общее время CPU, использованное процессом
  • `COMMAND`: Команда, запустившая процесс

`top` против `htop`

`htop` является улучшенной версией `top`, предлагающей более удобный интерфейс (цвет, поддержка мыши) и функции (прокрутка, поиск, прямое завершение). В большинстве случаев `htop` более удобен. Если `htop` не установлен, его можно установить через менеджер пакетов (например, `sudo apt install htop`).

Опции и взаимодействие команды top

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

1. Опции запуска командной строки

2. Взаимодействие с top во время выполнения

Сгенерированная команда:

Комбинируйте команды.

Описание:

`top` Запускает команду.

Комбинируйте эти опции, чтобы виртуально выполнять команды с помощью ИИ.

Примеры использования

Научитесь мониторить использование системных ресурсов в реальном времени и диагностировать проблемы, изучая различные примеры использования команды `top`.

Запуск базового мониторинга системы

top

Запуск команды `top`, которая обновляет текущее состояние системы и список процессов каждые 3 секунды.

Проверка 5 процессов с наибольшим использованием CPU (с интервалом 1 секунда)

top -d 1 -n 5

После выполнения `top`, обновляет 5 раз с интервалом 1 секунда и завершает работу. Это полезно для быстрого выявления причин нагрузки на CPU в определенный момент времени.

Мониторинг только процессов определенного пользователя (root)

top -u root

Фильтрует и показывает только процессы, запущенные всеми пользователями `root`. Полезно для отслеживания использования ресурсов системными демонами или службами.

Мониторинг только определенного идентификатора процесса (PID)

top -p 12345

Мониторинг информации только о процессе с идентификатором `12345` в реальном времени. Полезно для точного отслеживания потребления ресурсов определенным приложением.

Сортировка по использованию памяти (взаимодействие во время выполнения)

top # затем нажмите Shift + m

Во время выполнения `top`, нажмите клавишу `Shift + m`, чтобы отсортировать список процессов по убыванию использования памяти. (это нельзя указать напрямую в командной строке)

Завершение определенного процесса (взаимодействие во время выполнения)

top # затем нажмите 'k', введите PID, затем опционально '9' для SIGKILL

Во время выполнения `top`, нажав клавишу `k`, появится приглашение ввести PID процесса для завершения. Введите PID и нажмите `Enter`, чтобы по умолчанию отправить сигнал SIGTERM. Чтобы завершить принудительно, введите номер сигнала 9.


Те же команды в категории