1. Отслеживание процессов: top

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

Понимание команды top

Мы кратко упоминали top ранее, но теперь углубимся в детали того, что она отображает. Команда top предоставляет динамический просмотр процессов и использования ресурсов системы в реальном времени.

top - 18:06:26 up 6 days,  4:07,  2 users,  load average: 0.92, 0.62, 0.59
Tasks: 389 total,   1 running, 387 sleeping,   0 stopped,   1 zombie
%Cpu(s):  1.8 us,  0.4 sy,  0.0 ni, 97.6 id,  0.1 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem:  32870888 total, 27467976 used,  5402912 free,   518808 buffers
KiB Swap: 33480700 total,    39892 used, 33440808 free. 19454152 cached Mem

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
 6675 patty    20   0 1731472 520960  30876 S   8.3  1.6 160:24.79 chrome
 6926 patty    20   0  935888 163456  25576 S   4.3  0.5   5:28.13 chrome

Давайте разберем, что означает этот вывод. Вам не нужно это запоминать, но вы можете использовать этот урок в качестве справки.

Сводка по системе

Первые несколько строк предоставляют общую сводку о состоянии системы.

  • 1-я строка: Это та же информация, которую вы увидите, выполнив команду uptime. Она показывает текущее время, время работы системы, количество вошедших пользователей и среднюю загрузку системы за последние 1, 5 и 15 минут.
  • 2-я строка: Сводка по всем задачам (процессам), классифицированным как запущенные (running), спящие (sleeping), остановленные (stopped) или зомби (zombie).

Разбивка использования ЦП

Третья строка детализирует использование ЦП.

  • us: Процент времени ЦП, затраченного на выполнение пользовательских процессов без ницевания (not niced).
  • sy: Процент времени ЦП, затраченного на выполнение ядра и его процессов.
  • ni: Процент времени ЦП, затраченного на выполнение ницеванных (низкоприоритетных) пользовательских процессов.
  • id: Процент времени ЦП, который простаивает (idle).
  • wa: Процент времени ЦП, затраченного в ожидании завершения операций ввода-вывода (I/O). Высокое значение может указывать на узкое место на диске или в сети.
  • hi: Процент времени ЦП, затраченного на обслуживание аппаратных прерываний.
  • si: Процент времени ЦП, затраченного на обслуживание программных прерываний.
  • st: Время ожидания (Steal time). В виртуализированных средах это процент времени ЦП, которое виртуальный ЦП ждет реальный ЦП, пока гипервизор обслуживает другой виртуальный процессор.

Информация о памяти и подкачке (Swap)

Четвертая и пятая строки показывают использование памяти и пространства подкачки соответственно. Это включает общие объемы, использованные и свободные объемы.

Список процессов

Основная часть вывода top — это список процессов, наиболее интенсивно использующих ресурсы.

  • PID: Уникальный идентификатор процесса.
  • USER: Пользователь, владеющий процессом.
  • PR: Приоритет планирования процесса.
  • NI: Значение "nice", которое влияет на его приоритет.
  • VIRT: Виртуальная память, используемая процессом. Это общий объем памяти, к которому процесс может получить доступ.
  • RES: Резидентная память, используемая процессом. Это невыгруженная физическая память, которую использует задача. Понимание разницы между linux top virt res является ключом к анализу памяти.
  • SHR: Общая память, используемая процессом.
  • S: Состояние процесса: S=сон, R=выполнение, Z=зомби, D=непрерываемый сон, T=остановлен.
  • %CPU: Процент времени ЦП, использованного этим процессом с момента последнего обновления.
  • %MEM: Процент физической оперативной памяти, используемой этим процессом.
  • TIME+: Общее время ЦП, которое процесс использовал с момента запуска.
  • COMMAND: Имя команды или командная строка, запустившая процесс.

Вы также можете отслеживать конкретный процесс по его идентификатору, что полезно для сфокусированной отладки:

top -p 1

Войдите, чтобы сохранить ваш прогресс обучения

Вход

Упражнения

Практика необходима для мастерства. Эти практические лабораторные работы являются одними из лучших ресурсов для изучения Linux управления процессами, предоставляя практическую среду для применения полученных знаний.

  1. Управление и мониторинг процессов Linux - Практикуйтесь во взаимодействии, инспекции, мониторинге и завершении процессов в реальной среде Linux.
  2. Команда Linux top: Мониторинг системы в реальном времени - Научитесь использовать команду top для мониторинга использования ЦП, памяти и запущенных процессов в реальном времени.
  3. Команда Linux free: Мониторинг системной памяти - Научитесь использовать команду free для мониторинга и анализа использования системной памяти.

Тест

Какая команда отображает тот же вывод, что и первая строка в `top`? Пожалуйста, ответьте, используя только строчное английское название команды.