🐹 CentOS 7: Монитор процессов. Утилита htop.

Содержание:

1. Описание программы.
2. Управление программой.
3. Установка программы.
4. Использование программы.
5. Оригиналы источников информации.


1. Описание программы.

htop — компьютерная программа, предназначенная для вывода на терминал списка запущенных процессов и информации о них (монитор процессов). Создана, как альтернатива программы top. Предоставляет пользователю текстовый интерфейс.

1.1. Назначение программы.

htop часто применяется в тех случаях, когда информации, получаемой от утилиты top, недостаточно, например, при поиске утечек памяти в процессах.

htop также используется как system monitor.

1.2. Возможности.

htop по умолчанию сортирует список процессов по величине, позволяющей оценить продолжительность времени выполнения процесса на ЦПУ (клавиша P) («CPU%»). Также сортировка возможна по размеру занятой процессом памяти (клавиша M) («MEM%»), по времени выполнения процесса в пространстве ядра и пространстве пользователя (клавиша T) («TIME+») и по любому отображаемому параметру процесса (клавиши < и >).

htop показывает:

  • время, прошедшее с момента запуска операционной системы (uptime);
  • загруженность операционной системы (load average);
  • размеры страниц памяти, размещённых в ОЗУ («Mem»);
  • размеры страниц памяти, сохранённых в файл или на раздел подкачки («Swp»);
  • нагруженность всех процессоров («CPU») или каждого процессора/ядра по отдельности.

В отличие от утилиты top, htop:

  • по умолчанию показывает список всех процессов, запущенных в операционной системе;
  • позволяет выполнять вертикальную и горизонтальную прокрутку списка процессов (клавиши стрелок);
  • реализует диалог (клавиша S), позволяющий менять настройки без перезапуска программы, например, выбрать параметры процессов для показа, поменять цветовую схему;
  • позволяет отправлять сигнал одному или нескольким выбранным процессам без ввода pid (клавиша k);
  • также без ввода pid позволяет:
    • менять приоритет nice процесса для планировщика процессов (клавиши [ и ]) ;
    • выбирать процессоры/ядра, на которых процесс может выполняться (клавиша a);
    • менять приоритет операций ввода-вывода для планировщика ввода-вывода (клавиша i);
    • просматривать значения переменных окружения (клавиша e);
  • поддерживает мышь.

Также htop:

  • позволяет выбирать несколько процессов из списка:
    • клавиша пробел — выделение одного процесса;
    • клавиша c — выделение процесса и всех его дочерних процессов;
    • клавиша U — отменить выделение;
  • позволяет выполнять поиск по pid (клавиши цифр) или по имени процесса (клавиши / и \);
  • позволяет просматривать открытые процессом файлы (клавиша l);
  • позволяет следить за системными вызовами процесса (клавиша s);
  • позволяет следить за вызовами процессом библиотечных функций (клавиша s);
  • позволяет просматривать процессы, запущенные от имени одного пользователя (клавиша u);
  • может выводить процессы в виде дерева (клавиша t);
  • может показывать потоки процессов пользователя (клавиша H) и потоки ядра (клавиша K);
  • использует CSI коды для разукрашивания выводимого текста.

1.3. Значения цветов.

Индикатор «CPU»
Цвет
по умолчанию
Время ЦПУ тратится на выполнение …
  Синий low … потоков пользователя, у которых приоритет nice больше 0 (низкие приоритеты)
  Зелёный normal … потоков пользователя, у которых приоритет nice меньше или равен 0 (нормальный и высокие приоритеты)
  Красный kernel … потоков ядра ОС
  Жёлтый irq … обработчиков аппаратных прерываний
  Маджента soft-irq … обработчиков программных прерываний
  Сине-зелёный steal и guest … виртуальных машин
  Чёрный io-wait … ожидания завершения операций ввода-вывода

 

Индикатор «Mem»
Цвет по умолчанию Назначение
  Зелёный used = physical kernel_binary reserved buffers cache free
  Синий buffers
  Жёлтый cache
  1. used — размер страниц памяти, находящихся в ОЗУ.
  2. physical — размер памяти, доступной на ОЗУ.
  3. kernel_binary — размер памяти, занятой исполняемым кодом ядра.
  4. reserved — размер зарезервированной памяти.
  5. buffers — размер памяти ядра, используемой для временного хранения raw данных, прочитанных с диска или предназначенных для записи на диск.
  6. cache — память ядра, находящаяся в ОЗУ и используемая для хранения содержимого файлов, прочитанных с диска.
  7. free — размер свободной памяти; сумма свободной памяти, размещенной по малым адресам (lowmem) и используемой ядром, и свободной памяти, размещённой по большим адресам (highmem) и доступной процессам пространства пользователя.

1.4. Столбцы.

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

USER — владелец процесса.

PRI — текущий приоритет (влияет на процессорное время, отводимое процессу, значение по умолчанию — 20; чем меньше приоритет, тем больше времени отводится процессу, следовательно он выполняется быстрее).

NI — величина изменения приоритета относительно значения PRI (клавиши F7, F8).

VIRT — общий объем виртуальной памяти, используемой процессом. Включает в себя: область кода (CODE), данные (DATA), разделяемые библиотеки (SHARED) и страницы, перемещенные в swap-область памяти. Если приложение потребовало от ядра выделить ему 100Мб памяти, а использует всего 5 Мб, данный столбец всё равно будет показывать цифру 100.

  • CODE — объем памяти, содержащий исполняемый код процесса.
  • DATA — объем памяти, занятой данными, используемыми процессом в ходе выполнения.
  • SWAP — объем памяти, используемой процессом, но перемещенной в swap-область.

RES — количество резидентной (не перемещаемой в swap) памяти в килобайтах. Если приложение потребовало от ядра выделить ему 100Мб памяти, а использует всего 5 Мб, то данный столбец покажет 5. Но здесь есть два ньюанса:

а) RES не показывает сколько данных было перемещено в swap,
б) часть RES-памяти может быть разделяемой.

SHR — количество разделяемой (shared) памяти программы в килобайтах, то есть памяти, которая может быть использована другими приложениями.

S — состояние процесса:
S — так называемое состояние сна;
R — состояние выполнения;
D — состояние ожидания.

CPU% — использование процессора в процентном отношении.

MEM% — использование процессом памяти в процентном отношении.

TIME+ — время работы процесса.

Command — указывает на команду, которой был запущен процесс.

Через настройки (F2) можно добавить еще некоторые полезные параметры:

  • IO RATE — Операции ввода\вывода. Чтение + запись. Если нужно отдельно на чтение и на запись, то можно добавить:
  • IO READ RATE и IO WRITE RATE.

Также на экран выводятся следующие параметры:

Load average — отражает число блокирующих процессов в очереди на исполнение в определенный временной интервал, а именно 1 минута, 5 минут и 15 минут, соответственно. Блокирующий процесс — это процесс, который ожидает ресурсов для продолжения работы.

Uptime — время работы системы.

2. Управление программой.

F1 — справка;
F2 — настройки;
F3 — поиск процесса;
F4 — сортировка списка процессов (от большего к меньшему или от меньшего к большему);
F5 — устанавливает древовидное отображение (корни — родительские процессы, а листья — дочерние) и наоборот;
F6 — открывает панель с выбором параметра сортировки процессов;
F7 — увеличить приоритет выполнения текущего процесса;
F8 — уменьшить приоритет выполнения текущего процесса;
F9 — убить процесс;
F10 — выйти из программы.

3. Установка программы.

Подключим репозиторий EPEL. Как это сделать описано в этой статье на сайте: «CentOS 7: Репозитории SСL, EPEL, IUS, REMI, GHETTOFORGE».

# yum -y install epel-release

Для установки программы из репозитория выполните команду:

# yum -y install htop

4. Использование программы.

Для запуска программы выполните команду:

# htop

Чтобы изменить интервал обновления выхода htop, используйте опции командной строки htop -d x:

# htop -d 10 , где х упоминается в десятках секунд.

5. Оригиналы источников информации.

  1. ru.wikipedia.org «htop».
  2. linux-notes.org «Установка HTOP в RHEL, CentOS и Fedora Linux».
  3. linux-bash.ru «HTOP — монитор процессов.».

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