Монитор процессов linux / htop

Для удобства анализа запущенных процессов и потребления ими ресурсов / управления процессами — удобна программа htop

Устанавливаем программу:



Подключим репозиторий EPEL.

Установка программы из репозитория:


Запуск

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

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

где х упоминается в десятках секунд.




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

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

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

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

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

В отличие от утилиты tophtop:

  • по умолчанию показывает список всех процессов, запущенных в операционной системе;
  • позволяет выполнять вертикальную и горизонтальную прокрутку списка процессов (клавиши стрелок);
  • реализует диалог (клавиша S), позволяющий менять настройки без перезапуска программы, например, выбрать параметры процессов для показа, поменять цветовую схему;
  • позволяет отправлять сигнал одному или нескольким выбранным процессам без ввода pid (клавиша k);
  • также без ввода pid позволяет:
    • менять приоритет nice процесса для планировщика процессов (клавиши [ и ]) ;
    • выбирать процессоры/ядра, на которых процесс может выполняться (клавиша a);
    • менять приоритет операций ввода-вывода для планировщика ввода-вывода (клавиша i);
    • просматривать значения переменных окружения (клавиша e);
  • поддерживает мышь.
  • позволяет выбирать несколько процессов из списка:
    • клавиша пробел — выделение одного процесса;
    • клавиша c — выделение процесса и всех его дочерних процессов;
    • клавиша U — отменить выделение;
  • позволяет выполнять поиск по pid (клавиши цифр) или по имени процесса (клавиши / и \);
  • позволяет просматривать открытые процессом файлы (клавиша l);
  • позволяет следить за системными вызовами процесса (клавиша s);
  • позволяет следить за вызовами процессом библиотечных функций (клавиша s);
  • позволяет просматривать процессы, запущенные от имени одного пользователя (клавиша u);
  • может выводить процессы в виде дерева (клавиша t);
  • может показывать потоки процессов пользователя (клавиша H) и потоки ядра (клавиша K);
  • использует CSI коды для разукрашивания выводимого текста.
Индикатор «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) и доступной процессам пространства пользователя.

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

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

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

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

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

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

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

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

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

— состояние процесса:
S — так называемое состояние сна;
— состояние выполнения;
— состояние ожидания.
CPU% — использование процессора в процентном отношении.
MEM% — использование процессом памяти в процентном отношении.
TIME+ — время работы процесса.
Command — указывает на команду, которой был запущен процесс.

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

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

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

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

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

0

my-mails.ru

Всегда On-Line

Добавить комментарий

Авторизация
*
*
Регистрация
*
*
*
Генерация пароля
51276208