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

История

Hisham Muhammad, автор программы, назвал её «htop» по аналогии с тем, как названа программа «pinfo»Сайт программы pinfo ., написанная программистом по имени Przemek Borys. Слово «pinfo» означает «Przemek's ». Слово «htop» означает «Hisham's top».

Программа получала сведения о процессах из виртуальной ФС procfs, реализованной ядром Linux, поэтому могла работать только в ОС Linux.

Первое сообщение [htop-general] Announce: htop 0.6.1 // Список рассылки htop. Сообщение опубликовано 9 мая 2006 года в 20:10:29. с упоминанием ОС FreeBSD опубликовано в списке рассылки 9 мая 2006 года и информирует о выходе htop версии 0.6.1. 30 августа 2007 годаFreshPorts -- sysutils/htop . История порта программы htop для ОС FreeBSD // FreshPorts.org.Порт htop для ОС FreeBSD // FreeBsdSoftware.org. в коллекцию портов ОС FreeBSD была добавлена портированная программа htop версии 0.6.6 (выпущенная 1 июня 2007 года [htop-general] Announce: htop 0.6.6 // Список рассылки htop. Сообщение опубликовано 1 июня 2007 года в 19:07:22.). Для эмуляции procfs программа использовала библиотеку linprocfs. Появилась возможность портирования htop под любую ОС, поддерживающую слой эмуляции procfs.

htop версии 0.8.2 (выпущенная 2 июня 2009 года [htop-general] [ANN] htop 0.8.2 // Список рассылки htop. Сообщение опубликовано 2 июня 2009 года в 05:21:11.) была портирована для работы в ОС Mac OS X. Портирование было выполнено путём замены кода, специфичного для Linux, на код, специфичный для Mac OS X.

13 января 2014 года проект переехал с сайта SourceForge.nethtop // SourceForge.net. на сайты http://hisham.hm/htop/, GitHub.com (исходный код)Исходный код htop // GitHub.com. и FreeLists.org (список рассылки)Список рассылки htop // FreeLists.org..

До версии 1.0.3 (выпущенной 24 апреля 2014 года[htop] [ANN] htop 1.0.3 // Список рассылки htop. Сообщение опубликовано 24 апреля 2014 года в 20:25:34 UTC−3:00.) программа официально поддерживала только ОС Linux. Начиная с версии 2.0.0 (выпущенной 10 февраля 2016 года) в исходный код htop был добавлен слой для абстрагирования от особенностей различных ОС. Усилиями сообщества htop удалось портировать для работы в операционных системах FreeBSD, OpenBSD и Darwin (Mac OS X).

Применение

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

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

Возможности

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

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

В отличие от утилиты top, htop: по умолчанию показывает список всех процессов, запущенных в ОС; позволяет выполнять вертикальную и горизонтальную прокрутку списка процессов (клавиши стрелок); реализует диалог (клавиша ), позволяющий менять настройки без перезапуска программы, например, выбрать параметры процессов для показа, поменять цветовую схему; позволяет отправлять сигнал одному или нескольким выбранным процессам без ввода pid (клавиша ) (аналог функциональности утилиты kill); также без ввода pid позволяет: менять приоритет nice процесса для планировщика процессов (клавиши  и ) (аналог функциональности утилит nice и renice); выбирать процессоры/ядра, на которых процесс может выполняться (клавиша ) (см. ) (аналог функциональности утилиты taskset из пакета util-linux); менять приоритет операций ввода-вывода для планировщика ввода-вывода (клавиша ) (аналог функциональности утилиты ionice); просматривать значения переменных окружения (клавиша ); поддерживает мышь.

Также htop: позволяет выбирать несколько процессов из списка: клавиша пробел — выделение одного процесса; клавиша  — выделение процесса и всех его дочерних процессов; клавиша  — отменить выделение; позволяет выполнять поиск по pid (клавиши цифр) или по имени процесса (клавиши  и ); позволяет просматривать открытые процессом файлы (клавиша ) (аналог функциональности утилиты lsof); позволяет следить за системными вызовами процесса (клавиша ) (аналог функциональности утилиты ); позволяет следить за вызовами процессом библиотечных функций (клавиша ) (аналог функциональности утилиты ); позволяет просматривать процессы, запущенные от имени одного пользователя (клавиша ); может выводить процессы в виде дерева (клавиша ) (аналог функциональности утилиты ); может показывать потоки процессов пользователя (клавиша ) и потоки ядра (клавиша ); использует CSI коды для разукрашивания выводимого текста.

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

+ Индикатор «CPU» Цвет по умолчаниюФайл CRT.c // Исходный код htop на сайте github.com. Время ЦПУ тратится на выполнение …doc/Documentation/filesystems/proc.txt // Описание файловой системы procfs на сайте kernel.org. Синий 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

См. также Программа top. Программа atop. Iftop. Диспетчер задач. Команды производительности системы Linux/UNIX.

Список команд Unix

Примечания

Ссылки

(слайды доклада ).</ref>.

Категория:Программное обеспечение с лицензией GNU GPL Категория:Программное обеспечение для Linux Категория:Свободное программное обеспечение, написанное на Си Категория:Ncurses Категория:Системное администрирование