htop

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
htop
Htop on a 48 core computer.png
Тип

Монитор процессов

Разработчик

Hisham H. Muhammad

Написана на

Си (C99)

Интерфейс

ncurses

Операционная система

GNU/Linux, FreeBSD, OpenBSD, OS X

Языки интерфейса

английский язык

Первый выпуск

4 марта 2006[1]

Последняя версия

2.0.0[2] (10 февраля 2016 года[3])

Лицензия

GNU GPL v2[4]

Сайт

hisham.hm/htop/

Commons-logo.svg htop на Викискладе

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

История[править | править вики-текст]

Человек по имени Hisham Muhammad (ведущий программист проекта LuaRocks (система управления пакетами для Lua), доктор философии в PUC-Rio (англ.) (Рио-де-Жанейро, Бразилия) (в университете, в котором был разработан язык программирования Lua)[5]) был недоволен тем, что утилита top не поддерживала вертикальную и горизонтальную прокрутку, и в 2004 году[6] начал разработку программы htop[7].

Автор (Hisham Muhammad) назвал программу «htop» по аналогии с тем, как названа программа «pinfo»[8], написанная программистом по имени Przemek Borys. Слово «pinfo» означает «Przemek's info (англ.)». Слово «htop» означает «Hisham's top»[9].

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

Первое сообщение[10] с упоминанием ОС FreeBSD опубликовано в списке рассылки 9 мая 2006 года и информирует о выходе htop версии 0.6.1. 30 августа 2007 года[11][12] в коллекцию портов ОС FreeBSD была добавлена портированная программа htop версии 0.6.6 (выпущенная 1 июня 2007 года[13]). Для эмуляции procfs программа использовала библиотеку linprocfs. Появилась возможность портирования htop под любую ОС, поддерживающую слой эмуляции procfs.

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

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

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

Применение[править | править вики-текст]

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

htop также используется как system monitor (англ.)[19].

Возможности[править | править вики-текст]

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

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

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

Также htop:

Значения цветов
Индикатор «CPU»
Цвет по умолчанию[20] Время ЦПУ тратится на выполнение …[21]
Синий low потоков пользователя, у которых приоритет nice больше 0 (низкие приоритеты)
Зелёный normal потоков пользователя, у которых приоритет nice меньше или равен 0 (нормальный и высокие приоритеты)
Красный kernel потоков ядра ОС
Жёлтый irq … обработчиков аппаратных прерываний
Маджента soft-irq … обработчиков программных прерываний
Сине-зелёный steal и guest виртуальных машин
Чёрный io-wait … ожидания завершения операций ввода-вывода
Индикатор «Mem»
Цвет по умолчанию[20] Назначение[21][22]
Зелёный used[m 1] = physical[m 2] - kernel_binary[m 3] - reserved[m 4] - buffers[m 5] - cache[m 6] - free[m 7]
Синий buffers[m 5]
Жёлтый cache[m 6]
  1. used — размер страниц памяти, находящихся в ОЗУ.
  2. physical — размер памяти, доступной на ОЗУ.
  3. kernel_binary — размер памяти, занятой исполняемым кодом ядра.
  4. reserved — размер зарезервированной памяти.
  5. 1 2 buffers — размер памяти ядра, используемой для временного хранения raw данных, прочитанных с диска или предназначенных для записи на диск.
  6. 1 2 cache — память ядра, находящаяся в ОЗУ и используемая для хранения содержимого файлов, прочитанных с диска.
  7. free — размер свободной памяти; сумма свободной памяти, размещёной по малым адресам (англ. lowmem) и используемой ядром, и свободной памяти, размещённой по большим адресам (англ. highmem) и доступной процессам пространства пользователя.

См. также[править | править вики-текст]

Примечания[править | править вики-текст]

  1. https://github.com/hishamhm/htop/commit/d6231bab89d634da5564491196b7c478db038505
  2. Hisham H. Muhammad. Скачать htop (англ.). Официальный сайт проекта. Проверено 14 февраля 2016 года.
  3. 1 2 [htop] [ANN] htop 2.0.0 // Список рассылки htop. Сообщение опубликовано 10 февраля 2016 года в 22:56:41 UTC−2:00.
  4. Текст лицензии htop // GitHub.com.
  5. Hisham Muhammad. Сайт конференции FOSDEM 2016.
  6. Исходный код htop версии 0.1 опубликован 7 мая 2004 года на сайте SourceForge.net.
  7. 1 2 Hisham, Muhammad (31 января 2016 года). "Going cross-platform - how htop was made portable" in Конференция FOSDEM (англ.) 2016 (ULB Solbosch campus, Брюссельский столичный регион, Бельгия; 30-31 января 2016 года)..  (слайды доклада).
  8. Сайт программы pinfo.
  9. Часто задаваемые вопросы о htop (англ.). Официальный сайт htop. Проверено 4 августа 2015.
  10. [htop-general] Announce: htop 0.6.1 // Список рассылки htop. Сообщение опубликовано 9 мая 2006 года в 20:10:29.
  11. FreshPorts -- sysutils/htop. История порта программы htop для ОС FreeBSD // FreshPorts.org.
  12. Порт htop для ОС FreeBSD // FreeBsdSoftware.org.
  13. [htop-general] Announce: htop 0.6.6 // Список рассылки htop. Сообщение опубликовано 1 июня 2007 года в 19:07:22.
  14. [htop-general] [ANN] htop 0.8.2 // Список рассылки htop. Сообщение опубликовано 2 июня 2009 года в 05:21:11.
  15. htop // SourceForge.net.
  16. Исходный код htop // GitHub.com.
  17. Список рассылки htop // FreeLists.org.
  18. [htop] [ANN] htop 1.0.3 // Список рассылки htop. Сообщение опубликовано 24 апреля 2014 года в 20:25:34 UTC−3:00.
  19. System monitoring with htop (англ.). Хостинговая компания Rackspace (12 июня 2014 года). Проверено 4 августа 2015.
  20. 1 2 Файл CRT.c // Исходный код htop на сайте github.com.
  21. 1 2 doc/Documentation/filesystems/proc.txt // Описание файловой системы procfs на сайте kernel.org.
  22. proc(5) — страница справки man по форматам файлов GNU/Linux  (англ.).

Ссылки[править | править вики-текст]