Русская Википедия:Htop
htop — компьютерная программа, предназначенная для вывода на терминал списка запущенных процессов и информации о них (монитор процессов). Создана как альтернатива программы top. Написана на языке Си. Предоставляет пользователю текстовый интерфейс; для вывода на терминал использует библиотеку ncurses.
История
Человек по имени Hisham Muhammad (ведущий программист проекта LuaRocks (система управления пакетами для Lua), доктор философии в en (Pontifical Catholic University of Rio de Janeiro) (Рио-де-Жанейро, Бразилия) (в университете, в котором был разработан язык программирования Lua)[1]) был недоволен тем, что утилита top не поддерживала вертикальную и горизонтальную прокрутку, и в 2004 году[2] начал разработку программы htop[3].
Автор (Hisham Muhammad) назвал программу «htop» по аналогии с тем, как названа программа «pinfo»[4], написанная программистом по имени Przemek Borys. Слово «pinfo» означает «Przemek's en (info (Unix))». Слово «htop» означает «Hisham's top»[5].
Программа получала сведения о процессах из виртуальной ФС procfs, реализованной ядром Linux, поэтому могла работать только в ОС Linux.
Первое сообщение[6] с упоминанием ОС FreeBSD опубликовано в списке рассылки 9 мая 2006 года и информирует о выходе htop версии 0.6.1. 30 августа 2007 года[7][8] в коллекцию портов ОС FreeBSD была добавлена портированная программа htop версии 0.6.6 (выпущенная 1 июня 2007 года[9]). Для эмуляции procfs программа использовала библиотеку linprocfs. Появилась возможность портирования htop под любую ОС, поддерживающую слой эмуляции procfs.
htop версии 0.8.2 (выпущенная 2 июня 2009 года[10]) была портирована для работы в ОС Mac OS X. Портирование было выполнено путём замены кода, специфичного для Linux, на код, специфичный для Mac OS X[3].
13 января 2014 года проект переехал с сайта SourceForge.net[11] на сайты http://hisham.hm/htop/, GitHub.com (исходный код)[12] и FreeLists.org (список рассылки)[13].
До версии 1.0.3 (выпущенной 24 апреля 2014 года[14]) программа официально поддерживала только ОС Linux. Начиная с версии 2.0.0 (выпущенной 10 февраля 2016 года[15]) в исходный код htop был добавлен слой для абстрагирования от особенностей различных ОС. Усилиями сообщества htop удалось портировать для работы в операционных системах FreeBSD, OpenBSD и Darwin (Mac OS X).
Применение
htop часто применяется в тех случаях, когда информации, получаемой от утилиты top, недостаточно, например, при поиске утечек памяти в процессах.
htop также используется как en (System monitor)[16].
Возможности
htop по умолчанию сортирует список процессов по величине, позволяющей оценить продолжительность времени выполнения процесса на ЦПУ (клавиша Шаблон:Key) («CPU%»). Также сортировка возможна по размеру занятой процессом памяти (клавиша Шаблон:Key) («MEM%»), по времени выполнения процесса в пространстве ядра и пространстве пользователя (клавиша Шаблон:Key) («TIME+») и по любому отображаемому параметру процесса (клавиши Шаблон:Key и Шаблон:Key).
htop показывает:
- время, прошедшее с момента запуска ОС (Шаблон:Lang-en);
- загруженность ОС (Шаблон:Lang-en);
- размеры страниц памяти, размещённых в ОЗУ («Mem»);
- размеры страниц памяти, сохранённых в файл или на раздел подкачки («Swp»);
- нагруженность всех процессоров («CPU») или каждого процессора/ядра по отдельности.
В отличие от утилиты top, htop:
- по умолчанию показывает список всех процессов, запущенных в ОС;
- позволяет выполнять вертикальную и горизонтальную прокрутку списка процессов (клавиши стрелок);
- реализует диалог (клавиша Шаблон:Key), позволяющий менять настройки без перезапуска программы, например, выбрать параметры процессов для показа, поменять цветовую схему;
- позволяет отправлять сигнал одному или нескольким выбранным процессам без ввода pid (клавиша Шаблон:Key) (аналог функциональности утилиты kill);
- также без ввода pid позволяет:
- менять приоритет nice процесса для планировщика процессов (клавиши Шаблон:Key и Шаблон:Key) (аналог функциональности утилит nice и renice);
- выбирать процессоры/ядра, на которых процесс может выполняться (клавиша Шаблон:Key) (см. Шаблон:Iw) (аналог функциональности утилиты taskset из пакета util-linux);
- менять приоритет операций ввода-вывода для планировщика ввода-вывода (клавиша Шаблон:Key) (аналог функциональности утилиты ionice);
- просматривать значения переменных окружения (клавиша Шаблон:Key);
- поддерживает мышь.
Также htop:
- позволяет выбирать несколько процессов из списка:
- клавиша пробел — выделение одного процесса;
- клавиша Шаблон:Key — выделение процесса и всех его дочерних процессов;
- клавиша Шаблон:Key — отменить выделение;
- позволяет выполнять поиск по pid (клавиши цифр) или по имени процесса (клавиши Шаблон:Key и Шаблон:Key);
- позволяет просматривать открытые процессом файлы (клавиша Шаблон:Key) (аналог функциональности утилиты lsof);
- позволяет следить за системными вызовами процесса (клавиша Шаблон:Key) (аналог функциональности утилиты [[strace|en]] (strace));
- позволяет следить за вызовами процессом библиотечных функций (клавиша Шаблон:Key) (аналог функциональности утилиты [[ltrace|en]] (ltrace));
- позволяет просматривать процессы, запущенные от имени одного пользователя (клавиша Шаблон:Key);
- может выводить процессы в виде дерева (клавиша Шаблон:Key) (аналог функциональности утилиты [[pstree|en]] (pstree));
- может показывать потоки процессов пользователя (клавиша Шаблон:Key) и потоки ядра (клавиша Шаблон:Key);
- использует CSI коды для разукрашивания выводимого текста.
- Значения цветов
Цвет по умолчанию[17] | Время ЦПУ тратится на выполнение …[18] | ||
---|---|---|---|
Синий | low | … потоков пользователя, у которых приоритет nice больше 0 (низкие приоритеты) | |
Зелёный | normal | … потоков пользователя, у которых приоритет nice меньше или равен 0 (нормальный и высокие приоритеты) | |
Красный | kernel | … потоков ядра ОС | |
Жёлтый | irq | … обработчиков аппаратных прерываний | |
Маджента | soft-irq | … обработчиков программных прерываний | |
Сине-зелёный | steal и guest | … виртуальных машин | |
Чёрный | io-wait | … ожидания завершения операций ввода-вывода |
Цвет по умолчанию[17] | Назначение[18][19] | |
---|---|---|
Зелёный | 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] |
См. также
- Программа top.
- Программа atop.
- Диспетчер задач.
Примечания
Ссылки
- Шаблон:Url — официальный сайт проекта.
- Шаблон:Url — репозиторий проекта.
- ↑ Шаблон:Cite web
- ↑ Исходный код htop Шаблон:Wayback версии 0.1 опубликован 7 мая 2004 года на сайте SourceForge.net.
- ↑ 3,0 3,1 Шаблон:Cite conference (слайды доклада Шаблон:Wayback).
- ↑ Сайт программы pinfo Шаблон:Wayback.
- ↑ Шаблон:Cite web
- ↑ [htop-general] Announce: htop 0.6.1 // Список рассылки htop. Сообщение опубликовано 9 мая 2006 года в 20:10:29.
- ↑ FreshPorts -- sysutils/htop Шаблон:Wayback. История порта программы htop для ОС FreeBSD // FreshPorts.org.
- ↑ Порт htop Шаблон:Wayback для ОС FreeBSD // FreeBsdSoftware.org.
- ↑ [htop-general] Announce: htop 0.6.6 // Список рассылки htop. Сообщение опубликовано 1 июня 2007 года в 19:07:22.
- ↑ [htop-general] [ANN] htop 0.8.2 // Список рассылки htop. Сообщение опубликовано 2 июня 2009 года в 05:21:11.
- ↑ htop Шаблон:Wayback // SourceForge.net.
- ↑ Исходный код htop Шаблон:Wayback // GitHub.com.
- ↑ Список рассылки htop Шаблон:Wayback // FreeLists.org.
- ↑ Шаблон:Wayback [htop] [ANN] htop 1.0.3 // Список рассылки htop. Сообщение опубликовано 24 апреля 2014 года в 20:25:34 UTC−3:00.
- ↑ Ошибка цитирования Неверный тег
<ref>
; для сносокautogenerated1
не указан текст - ↑ Шаблон:Cite web
- ↑ 17,0 17,1 Файл CRT.c Шаблон:Wayback // Исходный код htop на сайте github.com.
- ↑ 18,0 18,1 doc/Documentation/filesystems/proc.txt Шаблон:Wayback // Описание файловой системы procfs на сайте kernel.org.
- ↑ Шаблон:Man.
Ошибка цитирования Для существующих тегов <ref>
группы «m» не найдено соответствующего тега <references group="m"/>
- Русская Википедия
- Программное обеспечение с лицензией GNU GPL
- Программное обеспечение для Linux
- Свободное программное обеспечение, написанное на Си
- Ncurses
- Системное администрирование
- Страницы, где используется шаблон "Навигационная таблица/Телепорт"
- Страницы с телепортом
- Википедия
- Статья из Википедии
- Статья из Русской Википедии
- Страницы с ошибками в примечаниях