Linux команда top закончить

Sysadminium

В этой статье будет показана утилита top, с помощью которой можно наблюдать за активностью процессов в реальном времени.

Утилита top

Утилита top — это консольный диспетчер задач. Он показывает общую информацию о системе и информацию о каждом процессе. Работа этой утилиты выглядит следующим образом:

Работа утилиты top

Вы можете почитать официальный мануал по использованию top здесь, или выполните команду man top .

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

Вывод данной утилиты можно разбить на две части:

  • сверху — шапка. Здесь вы можете посмотреть на общую информацию о системе;
  • ниже — информация по каждому процессу.

Общая информация о системе

Как видно, шапка состоит из пяти строк.

На первой и второй строке показана общая информация о системе:

Утилита top - общая информация о системе

На первой строке показаны следующие поля:

  • текущее время;
  • как долго работает система после последней загрузки;
  • сколько в системе активных пользователей;
  • средняя загрузка системы (load average) — три величины, усредненные за последние 1 и 5 и 15 минут. Чем ниже, тем лучше. Если превышает количество ядер на сервере, то значит сервер перегружен.
  • количество процессов;
  • количество работающих в данный момент процессов;
  • количество спящих процессов;
  • количество остановленных процессов;
  • количество зомби процессов.

На третьей строке показана информация о потреблении ЦПУ:

Утилита top - информация о потреблении ЦПУ

  • us — потребление cpu пользовательскими процессами (top и apache2);
  • sy — потребление cpu системными процессами;
  • ni — потребление cpu пользовательскими процессами, c измененным приоритетом (командой nice или renice);
  • id — простаивание cpu;
  • wa — процент времени, в течение которого процессор простаивал, ожидая завершения операции ввода-вывода. Если слишком высокое (более 10), значит за вашим процессором не поспевает диск, и нужно бы поменять его на более быстрый;
  • hi — процент времени работы аппаратных прерываний. Периферийные устройства могут прерывать работу процессора, чтобы передать какие-то данные;
  • si – процент времени работы программных прерываний. Некоторые приложения могут прерывать работу процессора, чтобы передать какие-то данные;
  • st — процент времени, когда реальный процессор не был доступен виртуальной машине. Будет расти если виртуальной машине выделить больше ядер, чем имеет гипервизор. Этот показатель имеет значение только в системах виртуализации.
Читайте также:  Php permission denied linux

Ниже видим информацию по потреблению оперативной памяти (Mem) и подкачки (Swap):

Утилита top - информация о потреблении оперативной памяти

  • total — общее количество памяти;
  • free — количество свободной памяти;
  • used — количество используемой памяти;
  • buff / cache — память выделенная под буфер и дисковый кэш;
  • avail Mem — память которая может быть выделена для запуска новых процессов.

Информация по каждому процессу

Ниже показана информация по каждому процессу. Информация разбита на следующие колонки:

Информация по процессам

  • PID — номер процесса;
  • USER — имя пользователя под которым работает процесс;
  • PR — приоритет процесса;
  • NI — любезность процесса, чем она выше, тем ниже приоритет;
  • VIR — общее количество памяти, которое способен адресовать процесс в данный момент времени. Включает в себя RES, SHR, прикреплённые файлы (например — файлы библиотек). Также включает в себя память, которая была выделена, но не использована;
  • RES — количество физической памяти, которую использует процесс;
  • SHR — количество разделяемой памяти, которую использует процесс. Разделяемая память потенциально может быть разделена с другими процессами;
  • S — состояние процесса (я их уже описывал здесь):
    • S (sleeping) — спящий;
    • R (running) — в работе;
    • Z (zombie) — зомби;
    • D (uninterruptible sleep) — ожидает дискового ввода/вывода, и не принимает никакие сигналы;
    • T (stopped by job control signal) — остановлен специальным сигналом;
    • t (stopped by debugger during trace) — остановлен в процессе дебага;
    • I (Idle) — бездействующий поток ядра.
  • %CPU — использование cpu в процентах;
  • %MEM — RES в процентах от общего количества памяти;
  • TIME+ — сколько времени с этим процессом работал ЦПУ, с точностью до сотых долей секунды;
  • COMMAND — с помощью какой команды запустили процесс.

Опции команды top

Теперь пробежимся по основным опциям, с которыми можно запускать top.

Количество итераций

Опция -n укажет через сколько повторений нужно завершить работу top. По умолчанию чтобы выйти из top нужно нажать клавишу q. Следующая команда выйдет из top через 10 повторений:

Процессы определённого пользователя

Можно заставить top отображать процессы определенного пользователя с помощью опции -u:

top - процессы пользователя www-data

Горячие клавиши top

Режим цветности

Если во время работы top нажать клавишу z, это переключит режим цветности (белое на чёрном или черное на белом):

top - изменение режима цветности

Больше информации о команде (поле COMMAND)

Если во время работы top нажать клавишу с, это заставит выводить больше информации о команде:

top - абсолютный путь команды с опциями

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

По умолчанию процессы отсортированы по колонке %CPU. Те что потребляют больше всего находятся сверху.

Чтобы выделить столбец, по которому сейчас идет сортировка, нажмите клавишу x.

top - сортировка по колонке USER

Клавишами «» или «>«, можно выбрать столбец, по которому нужно сортировать процессы.

А если нажать клавишу R, то сортировка пойдет в обратном порядке.

Клавиша M отсортирует процессы по потреблению памяти (%MEM).

Читайте также:  Linux mint опыт использования

Завершение процессов

Из top можно завершить процесс, для этого нужно нажать клавишу k, далее ввести pid процесса, который хотим завершить и нажать Enter.

По умолчанию процессу посылается сигнал 15 (sigterm). Но завершать чужие процессы можно только запустив top под пользователем root, или с помощью команды sudo.

Сигналы, которые можно посылать процессам, я разберу чуть позже в этом курсе.

Добавление полей

По умолчанию отображаются далеко не все поля. Чтобы добавить поля нажмите клавишу F. Затем, с помощью клавиш вверх и вниз, вы можете перемещаться по полям. Чтобы добавить выбранное поле нажмите клавишу d или пробел. А чтобы выбрать поле для сортировки выделите его и нажмите s. Ну и чтобы вернуться в режим просмотра, нажмите q.

top - добавление полей

Итог

Мы разобрали утилиту top для мониторинга за потреблением ресурсов Linux.

Узнали следующие опции top:

  • -n — завершить top после нескольких итераций;
  • -u — показывать процессы определенного пользователя.

Узнали горячие клавиши top:

  • z — изменить цветность;
  • c — более полная команда запуска;
  • — сортировать по предыдущему столбцу;
  • > — сортировать по следующему столбцу;
  • R — обратить сортировку;
  • M — сортировать по rss;
  • x — выделить колонку по которой ведётся сортировка;
  • k — завершить процесс;
  • F — настроить поля и сортировку.

Источник

Команды для управления процессами в Linux

В этой статье мы обсудим управление процессами. Процесс в Linux — это не что иное, как исполняемая программа. То есть это запущенный экземпляр программы. Любая команда, которую вы выполняете, запускает процесс.

Типы процессов

В Linux процессы могут быть двух типов:

  • Процессы переднего плана — зависят от ввода пользователя. Они также называются интерактивными процессами.
  • Фоновые процессы — работают независимо от пользователя. Называются неинтерактивными или автоматическими процессами.

Состояния процесса в Linux

Процесс в Linux после его создания и до завершения может проходить через разные состояния, а именно:

  • Running (выполняется) — процесс в состоянии выполнения, то есть он запущен или готов к запуску.
  • Sleeping (спящий) — процесс находится в спящем состоянии, пока ожидает доступного ресурса:
    • Interruptible sleep (прерывистый сон) — процесс в состоянии прерывистого сна может просыпаться для обработки сигналов.
    • Uninterruptible sleep (Непрерывный сон) — процесс не будет просыпаться для обработки сигналов.

    Команды для управления процессами

    В Linux доступны две команды для отслеживания запущенных процессов — Top и Ps.

    1: Команда top

    Для отслеживания запущенных процессов вы можете выполнить команду top:

    Эта команда выводит список процессов, которые работают в реальном времени, а также сколько они занимают памяти и CPU. Давайте подробнее разберем ее вывод:

    • PID: уникальный идентификатор процесса, присвоенный каждому процессу.
    • User: имя владельца процесса.
    • PR: приоритет, присвоенный процессу при планировании.
    • NI: значение ‘nice’ процесса.
    • VIRT: объем виртуальной памяти, которую занимает процесс.
    • RES: объем физической памяти, используемой процессом.
    • SHR: объем памяти, разделяемой с другими процессами.
    • S: состояние процесса:
      • “D” = непрерывный сон
      • “R” = запущен
      • “S” = спящий
      • “T” = отслежен или остановлен
      • “Z” = зомби

      Перемещаться вверх и вниз по списку можно клавишами со стрелками вверх/вниз. Для выхода из команды top нажмите q. Чтобы завершить процесс, выделите его клавишами со стрелками и нажмите ‘k’.

      В качестве альтернативы вы также можете выполнить команду kill, которую мы рассмотрим позже.

      2: Команда ps

      ps — это сокращение от “Process Status”. Она выводит запущенные в данный момент процессы. Но, в отличие от команды top, результат не генерируется в реальном времени.

      Рассмотрим ее вывод подробнее:

      • PID — идентификатор процесса.
      • TTY — тип терминала.
      • TIME — общее время работы процесса.
      • CMD — имя команды, которая запускает процесс.

      Для вывода дополнительной информации с помощью команды ps добавьте параметр -u:

      На скриншоте вы можете увидеть следующие данные:

      • %CPU — количество вычислительной мощности, которую занимает процесс.
      • %MEM — объем памяти, занимаемой процессом.
      • STAT — состояние процесса.

      Хотя команда ps выводит только запущенные в данный момент процессы, с помощью нее можно посмотреть список всех процессов:

      Эта команда выводит список даже тех процессов, которые в данный момент не запущены.

      3: Остановка процесса

      Чтобы остановить процесс в Linux, выполните команду “kill”. kill отправляет сигнал процессу.

      Есть разные типы сигналов, которые можно отправлять. Однако самый частый — “kill -9”, который является “SIGKILL”.

      Вы можете посмотреть все доступные сигналы с помощью следующей команды:

      Сигнал по умолчанию — 15, то есть SIGTERM. Это означает, что если вы просто выполняете команду kill без номера, она отправляет сигнал SIGTERM.

      Синтаксис для остановки процесса:

      В качестве альтернативы вы также можете выполнить:

      Эта команда отправит процессу сигнал “SIGKILL”. Ее следует выполнять в случае, если процесс игнорирует обычный запрос на остановку.

      4: Изменение приоритета процесса

      В Linux между процессами можно расставлять приоритеты. Значение приоритета для процесса называется ‘Niceness’, оно может варьироваться от -20 до 19. 0 — значение по умолчанию.

      Четвертый столбец в выводе команды top — это столбец для значения niceness.

      Чтобы запустить процесс и присвоить ему значение nice, которое отличается от значения по умолчанию, выполните команду:

      $ nice -n [value] [process name]

      Для изменения значения nice уже запущенного процесса выполните:

      Заключение

      В этом туториале мы рассмотрели в основном практические аспекты управления процессами в Linux. Теория управление процессами — это обширная тема, и ее полный разбор не входит в задачи данного мануала.

      Читайте также:

      Источник

Оцените статью
Adblock
detector