Аналог htop в linux

Обновлено: 25.11.2024

Время от времени я вижу множество программ, инструментов и утилит с открытым исходным кодом, которые разработчики со всего мира добавляют на GitHub и GitLab. Некоторые из этих программ являются новыми, а некоторые просто альтернативой наиболее популярным и широко используемым существующим программам для Linux. В этом уроке мы собираемся обсудить некоторые хорошие альтернативы «top», программе диспетчера задач командной строки. Читайте дальше.

Альтернативы утилите командной строки 'top'

На момент написания этого руководства мне известны следующие альтернативы программе Top, а именно:

  1. Наверху
  2. Вверх
  3. Главная страница
  4. Перейти
  5. Пверхнее
  6. Гегемон
  7. Баштоп/Bpytop

Я буду обновлять этот список, если в ближайшие дни столкнусь с подобными утилитами. Добавьте это руководство в закладки, если вам интересно узнать о таких утилитах.

1. Htop

Htop – это популярный межплатформенный интерактивный менеджер процессов с открытым исходным кодом. Это мой любимый инструмент для мониторинга системной активности. htop — это расширенная версия классической программы top. Первоначально она была разработана для Linux, но разработчик распространил ее поддержку на другие Unix-подобные операционные системы, такие как FreeBSD и Mac OS X. Программа htop является бесплатной программой с открытым исходным кодом и утилитой на основе ncurses, выпущенной под лицензией GPLv2.

По сравнению с классической командой top она имеет следующие преимущества.

  • htop запускается быстрее, чем программа top.
  • htop позволяет нам прокручивать по горизонтали и вертикали, чтобы просмотреть все процессы и полные командные строки.
  • Нет необходимости вводить PID, чтобы завершить процесс в htop. Но в верхней части вам нужно ввести PID, чтобы убить процесс.
  • Нет необходимости вводить PID для изменения приоритета процесса, но в команде top это необходимо.
  • Мы можем одновременно убить несколько процессов в htop.
  • В верхней программе вы подвергаетесь задержке для каждой неназначенной клавиши, которую вы нажимаете. Особенно раздражает случайный запуск управляющих последовательностей с несколькими клавишами.

1.1. Установите htop в Linux

htop доступен в стандартных репозиториях большинства дистрибутивов Linux.

В системах на основе Arch выполните следующую команду, чтобы установить htop.

В системах на основе Debian:

В системах на основе RPM:

1.2. Высокое использование

Когда вы вводите команду htop без каких-либо аргументов, вы увидите следующий экран.

htop интерфейс по умолчанию

Как видите, диспетчер задач htop показывает общее использование памяти и подкачки, общее количество задач, среднюю загрузку системы и время безотказной работы системы. В нижней части, как и в команде top, отображается список процессов в нескольких столбцах. В каждом столбце отображаются такие сведения, как pid, пользователь, приоритет, значение nice, использование виртуальной памяти, использование процессора, использование памяти каждым процессом и т. д. Вы можете прочитать об этих параметрах в руководстве по работе с командами, ссылка на которое приведена в первом абзаце.

В отличие от команды top, htop позволяет выполнять каждую операцию с помощью специальной функциональной клавиши. Вот список сочетаний клавиш для взаимодействия с htop.

  • F1, ч, ? - Открыть раздел справки.
  • F2, S(Shift+s) — переход в раздел настройки, где можно настроить счетчики, отображаемые в верхней части экрана, задать различные параметры отображения, выбрать цветовую схему и выбрать отображаемые столбцы в какой порядок и т. д.
  • F3, / — поиск в командных строках всех отображаемых процессов.
  • F4, — фильтрация процессов. Просто введите часть имени процесса, и вы увидите только те процессы, которые соответствуют имени. Нажмите F4 еще раз и нажмите клавишу ESC, чтобы отменить фильтрацию.
  • F5, t — переключение между представлением в виде дерева и представлением по умолчанию. Нажмите +, чтобы просмотреть поддерево.
  • F6, – отсортировать процессы по PID, ПОЛЬЗОВАТЕЛЮ, ПРИОРИТЕТУ, значению NICE, использованию ЦП, использованию ПАМЯТИ и т. д.
  • F7, ] — повысить приоритет выбранного процесса.
  • F8, [ — понизить приоритет выбранного процесса.
  • F9,k - Завершить процессы. С помощью стрелок ВВЕРХ/ВНИЗ выберите процесс и нажмите F9 или k, чтобы завершить его.
  • F10, q — выйти из htop.

Все сочетания клавиш указаны в нижней части интерфейса htop.

Обратите внимание, что некоторые из этих функциональных клавиш могут быть назначены различным операциям Терминала. Например, когда я нажимал клавишу F2, он не переходил в раздел настройки htop. Вместо этого он отображал возможность установить заголовок для моего окна терминала. В таких случаях вам могут понадобиться другие клавиши, указанные вместе с функциональными клавишами.

Помимо вышеупомянутых клавиш, есть еще несколько клавиш для выполнения различных функций. Например,

  • Нажмите "u", чтобы отобразить процессы, принадлежащие пользователю.
  • Shift+m ​​отсортирует процессы по использованию памяти.
  • Shift+p — сортировка процессов по использованию процессора.
  • Shit+t – отсортировать процессы по времени.
  • CTRL+l — обновить экран.

htop может делать все, используя сочетания клавиш, не упоминая никаких параметров при запуске. Однако вы можете использовать некоторые флаги при его запуске.

Например, чтобы запустить htop для отображения только процессов, принадлежащих данному пользователю, выполните:

Изменить интервал обновления вывода:

Как видите, использовать htop невероятно проще, чем использовать команду top.

См. справочные страницы htop, чтобы узнать больше о доступных параметрах и функциях.

Также обратите внимание на домашнюю страницу проекта и репозиторий HitHub.

2. Верх

Vtop — еще одна альтернатива старой доброй утилите top. Это бесплатный монитор активности системы из командной строки с открытым исходным кодом, написанный на NodeJS и выпущенный в рамках MIT. Он использует символы Брайля Юникода для построения диаграмм ЦП и памяти, помогая визуализировать всплески.

Убедитесь, что в вашей системе установлен NodeJS. Если он еще не установлен, обратитесь к следующему руководству.

После установки узла выполните следующую команду, чтобы установить Vtop.

После установки Vtop просто запустите vtop, чтобы начать мониторинг.

Пример вывода:

Как видите, интерфейс Vtop немного отличается от программ top и htop. Он отображает каждую информацию в отдельном макете окна. Вы увидите все сочетания клавиш для взаимодействия с Vtop внизу.

Вот список ярлыков:

  • dd — завершить процессы.
  • Стрелка ВВЕРХ или k — движение вверх.
  • Стрелка ВНИЗ или J — перемещение вниз.
  • Стрелка влево или h, чтобы увеличить масштаб графиков.
  • Стрелка вправо или l — уменьшение масштаба графиков.
  • g – Перейти к началу списка процессов.
  • SHIFT+g — перейти в конец списка процессов.
  • c — Сортировка процессов по загрузке ЦП.
  • m — сортировка процессов по использованию памяти.

Для получения дополнительной информации см. следующие ресурсы Vtop.

3. Наверх

Gtop аналогичен монитору системной активности Vtop. Он также написан на NodeJS и выпущен под лицензией MIT.

Чтобы установить его, запустите:

Запустите gtop с помощью команды:

Пример вывода:

Я заметил, что интерфейс Gtop очень приятный. Он показал каждый элемент с разным набором цветов, что приятно для глаз.

  • p — сортировка процессов по идентификатору процесса.
  • c — Сортировка процессов по загрузке ЦП.
  • m — сортировка процессов по использованию памяти.
  • q или ctrl+c — выйти из Gtop.

Для получения дополнительной информации посетите страницу Gtop GitHub.

4. Перейти

Как следует из названия, Gotop — это графический монитор активности TUI, написанный на языке программирования Go. Он полностью бесплатный, с открытым исходным кодом и вдохновлен программами gtop и vtop, о которых мы упоминали в предыдущих разделах. Мы уже писали об этом некоторое время назад. Если вам интересно узнать об этом, перейдите по следующей ссылке.

5. Пверх

Некоторым из вас могут не понравиться программы, написанные на NodeJS и Go. Если вы один из них, есть еще одна программа мониторинга процессов под названием Ptop, написанная на языке программирования Python. Это бесплатный монитор активности системы с открытым исходным кодом, выпущенный под лицензией MIT.

Ptop совместим как с Python2.x, так и с Python3.x, поэтому его можно легко установить с помощью Pip, диспетчера пакетов для установки программ, разработанных на Python. Если вы еще не установили Pip, перейдите по следующей ссылке.

После установки Pip выполните следующую команду, чтобы установить ptop.

Или вы можете скомпилировать из исходного кода, как показано ниже.

Чтобы обновить Ptop, выполните:

Даже если вы не выполняете обновление, Ptop предложит вам обновиться до последней версии при первом запуске.

Теперь давайте запустим ptop и посмотрим, что произойдет.

Вот список сочетаний клавиш для взаимодействия с ptop:

  • Ctrl+k — завершить процесс.
  • Ctrl+n — сортировка процессов по использованию памяти.
  • Ctrl+t – сортировка процессов по времени жизни.
  • Ctrl+r — сбросить статистику.
  • Ctrl+f — фильтрация информации о конкретном процессе. Просто введите имя процесса, и вы увидите только его детали.
  • Ctrl+l — просмотреть информацию о выбранном процессе.
  • g – Перейти к началу списка процессов.
  • Ctrl+q — выйти из Ptop.

Ptop имеет функцию изменения темы. Если вам нужен красивый результат Ptop, вы можете использовать любую из доступных тем. В настоящее время поддерживаются следующие темы:

Чтобы задать тему, например красочную, просто запустите:

Чтобы просмотреть раздел справки, используйте -h:

Подробнее см. на странице проекта GitHub.

6. Гегемон

Hegemon — еще одно приложение для мониторинга системной активности, написанное на языке программирования Rust. Если вы поклонник программ, написанных на Rust, hegemon может быть хорошим выбором. Некоторое время назад мы публиковали краткий обзор о Hegemon. Перейдите по следующей ссылке, чтобы узнать больше об этом инструменте.

7. Баштоп/Брайтоп

Bashtop и Bpytop — это мониторы системных ресурсов командной строки, которые показывают использование системы и статистику для процессора, памяти, дисков, сети и процессов. У них нет большой разницы. Обе утилиты служат одной цели и имеют одинаковый набор функций. Единственная разница в том, что оба написаны на разных языках программирования. Bashtop написан на Bash, а Bpytop на Python. Дополнительные сведения см. в следующем руководстве.

Заключение

Теперь вы знаете семь альтернатив утилите командной строки "Top". Я не буду утверждать, что эти программы лучше или лучше заменяют «топовую» программу. Но всегда приятно знать некоторые альтернативы. Я использую htop в основном для мониторинга процессов. Теперь твоя очередь. Вы использовали какие-либо из этих инструментов, перечисленных здесь? Здорово! Какой ваш любимый инструмент и почему? Поделитесь своим опытом в разделе комментариев ниже.

Ранее мы рассмотрели top, atop и косвенно (из-за его популярности как альтернативы top) htop (последний снимок экрана на этой странице). Но есть ли другие альтернативы, на которые стоит обратить внимание? Что касается работоспособности и производительности системы, это в значительной степени вопрос предпочтений в отношении того, какие данные наиболее важны для вас. Мы все предпочитаем разные способы просмотра одного и того же.

htop и лучшие альтернативы

Поскольку три вышеупомянутых инструмента системного мониторинга довольно легко справляются со своей задачей, я сосредоточусь на двух альтернативах, которые, по моему мнению, могут заменить собой или, по крайней мере, дополнить top и htop. Это Glances и nmon.

Взгляды — системный монитор

Glances — это программное обеспечение с открытым исходным кодом для мониторинга и сбора статистики операционной системы. Glances стремится представить максимальное количество информации в минимальном объеме пространства. Glances — хорошая альтернатива htop, поскольку он может динамически адаптироваться при отображении системной информации в зависимости от размера терминала. Удаленный мониторинг может осуществляться через терминал, веб-интерфейс или API (XMLRPC и RESTful). Glances написан на Python и использует библиотеку psutil для получения информации из вашей системы. Статистику также можно экспортировать во внешние базы данных времени/стоимости.

nmon — монитор производительности Найджела

nmon — это еще один альтернативный инструмент системного администратора htop для настройки сервера, сравнительного анализа или просмотра подробной информации о производительности системы. Он выводит данные двумя способами. Либо на экране (командная строка), либо после сохранения данных в файл с разделителями-запятыми для анализа и долгосрочного сбора данных. Честно говоря, одного скриншота для nmon недостаточно. Взгляните на дополнительные скриншоты с пояснениями.

Еще больше альтернатив top и htop: net-tools, iptraf, collectl, dstat, iostat, sar, sayar и vmstat. Ищете дополнительную информацию и/или инструменты APM? Также прочтите мой пост о 50 лучших решениях для мониторинга серверов и мониторинга производительности приложений (APM) (включая бесплатные и платные решения).

Первоначально опубликовано: 15 июня 2017 г.
Последнее обновление: 19 октября 2020 г.

Теги: Linux, производительность, системные администраторы

Загрузите мою бесплатную 101 полезную команду Linux (PDF).

Кроме того, я буду уведомлять вас о публикации новых статей по Linux. - Подпишитесь сейчас и получите мой бесплатный PDF-файл.
(В среднем 1-2 письма в месяц.)

Я ищу командлет PowerShell, который может предоставить функции, аналогичные приложению Linux Top. Что-то, что обновляется с заданным интервалом и отображает список процессов с процентом использования ЦП.

Я встречал скрипты, которые отображают процент использования ЦП в цикле, но что-то вроде top было бы намного удобнее, так как мы настроили доступ SSH/Powershell для управления (я все же предпочитаю оболочку putty!)

Свойство ЦП в объекте процесса — это не процент ЦП, а общее время ЦП с момента запуска процесса.

В качестве альтернативы можно просто использовать диспетчер задач в Windows 10, доступ к которому можно получить с помощью сочетания клавиш Ctrl + Alt + Del.

17 ответов 17

Это простая однострочная строка, которая также будет держать ярлыки наверху:

Это работает, потому что форматирование таблицы без каких-либо параметров просто рисует таблицу по умолчанию. autosize используется для автоматической настройки ширины столбца, чтобы все данные могли поместиться на экране.

Распределение сокращенных команд:

  • выберите -f : сокращение для -first
  • ft : ярлык для Format-Table
  • -a : сокращение для -autosize
  • sleep: по умолчанию используются секунды

Я ничего не знаю об этом в форме одного командлета, но, как вы говорите, сценарии легко написать для эмуляции top.

@TimAtVenturality — вы можете обернуть скрипт как функцию с параметрами, чтобы более точно воспроизвести начало.

Аналогичное решение, но с использованием Get-Counter вместо Get-Process :

Я нашел большинство других решений здесь, используя Get-Process, сообщая об общем времени ЦП с момента запуска процесса, что было бесполезно на моем сервере, который работает круглосуточно и без выходных, где лучшим результатом всегда были svchost и system в миллионы секунд.

  • True Top или эквивалент диспетчера задач дадут моментальный снимок использования ЦП, записанный недавно в течение определенного фиксированного времени, и Get-Counter предоставляет это. Я решил, что этот вариант стоит того, чтобы внести свой вклад, так как этот вопрос по-прежнему занимает первое место в результатах Google по запросу powershell top .

На основе примера 13 из документации Get-Counter разбивка команды:

get-counter '\Process(*)\% Processor Time': выбирает данные % ЦП, для возврата которых требуется значительное время, поэтому нет необходимости в спящем режиме

Shell — это необходимый инструмент для каждого программиста. Чем лучше вы познакомитесь с доступными инструментами, тем эффективнее вы сможете использовать свой компьютер. Вот список инструментов командной строки, написанных на Rust, которые призваны предоставить современные, часто намного более быстрые альтернативы существующим командам оболочки.

bat — это клон cat с подсветкой синтаксиса и интеграцией с Git, который работает в Windows, MacOS и Linux. Он обеспечивает подсветку синтаксиса для многих расширений файлов по умолчанию.

exa является современной заменой ls , программы командной строки по умолчанию в Unix/Linux для просмотра содержимого каталога. exa поддерживает значки с флагом --icons.

Гитхаб

fd — это быстрая и удобная альтернатива find , встроенной в Unix/Linux программе командной строки для обхода файловой иерархии. fd предоставляет самоуверенные значения по умолчанию для наиболее распространенных случаев использования. Чтобы найти определенный файл по имени, вы пишете fd PATTERN вместо find -iname ‘*PATTERN*’. fd также очень быстр и имеет массу опций, таких как игнорирование скрытых каталогов, файлов и шаблонов из .gitignore по умолчанию.

процедуры

procs – это современная замена ps , стандартной программы командной строки в Unix/Linux для получения информации о процессах. По умолчанию он обеспечивает удобный, удобочитаемый (и цветной) формат вывода.

sd — это интуитивно понятный инструмент командной строки для поиска и замены, альтернатива sed, встроенной в Unix/Linux программе командной строки для разбора и преобразования текста (). sd имеет более простой синтаксис для замены всех вхождений и использует удобный синтаксис регулярных выражений, который вы уже знаете из JavaScript и Python. sd также в 2-11 раз быстрее, чем sed .

sed — это программируемый текстовый редактор, в котором часто используется поиск и замена. В этом свете sd больше похож на tr, но на стероидах. (спасибо /u/oleid за предложение).

dust — это более интуитивно понятная версия du, встроенной программы командной строки в Unix/Linux для отображения статистики использования диска. По умолчанию пыль сортирует каталоги по размеру.

звездолет

Минимальная, молниеносно быстрая и бесконечно настраиваемая подсказка для любой оболочки.

ripgrep

ripgrep — это очень быстрая альтернатива grep, встроенной в Unix/Linux программе командной строки для поиска файлов по шаблону. ripgrep — это инструмент поиска по строкам, который рекурсивно ищет в вашем текущем каталоге шаблон регулярного выражения. По умолчанию ripgrep учитывает .gitignore и автоматически пропускает скрытые файлы, каталоги и двоичные файлы.

токей

tokei — это программа, отображающая статистику вашего кода. Он показывает количество файлов, общее количество строк в этих файлах, а также код, комментарии и пробелы, сгруппированные по языку.

высокое качество

hyperfine — это инструмент для сравнительного анализа командной строки. Среди многих функций он обеспечивает статистический анализ для нескольких запусков, поддержку произвольных команд оболочки, постоянную обратную связь о ходе выполнения теста и текущих оценках и многое другое.

ytop — это альтернатива top встроенной программе командной строки в Unix/Linux для отображения информации о процессах.

чирок

tealdeer — это очень быстрая реализация tldr, программы командной строки для отображения упрощенных, основанных на примерах и созданных сообществом справочных страниц.

группа

band — утилита командной строки для отображения текущего использования сети по процессу, подключению и удаленному IP-адресу или имени хоста.

grex – это инструмент командной строки и библиотека для создания регулярных выражений на основе тестовых примеров, предоставленных пользователями.

отправить сообщение

rmesg — это реализация dmesg в Rust (и доступна в виде библиотеки для программ на Rust для использования журналов сообщений ядра).

зоксид

zoxid — это молниеносно быстрый автопереходчик, предназначенный для полной замены команды cd. Это позволяет вам менять каталоги, не вводя полное имя пути.

дельта

delta — это программа для просмотра выходных данных git и diff. Это позволяет вам вносить значительные изменения в макет и стиль различий, а также позволяет вам оставаться сколь угодно близким к выходным данным git/diff по умолчанию.

тп-примечание

Tp-Note — это шаблонный инструмент, расширяющий возможности буфера обмена с помощью функции сохранения и редактирования в виде файла заметки. После создания нового файла заметки Tp-Note запускает любимый файловый редактор пользователя (для редактирования) и веб-браузер (для просмотра).

Бонус: нушелл

nushell — это новый тип оболочки, написанный на Rust. Его цель — создать современную альтернативу оболочке, которая по-прежнему основана на философии Unix, но адаптирована к современной эпохе. Он поддерживает конвейерную обработку и фильтрацию аналогично awk и sed с представлением столбцов, так что вы можете комбинировать операции, как в SQL. (спасибо /u/matu3ba за предложение).

Я пропустил интересный инструмент командной строки? Дайте мне знать в Твиттере или отправьте PR на этот сайт в GitHub.

Оглавление

Подписаться на мою рассылку

Последние новости, статьи и ресурсы, связанные с программированием, ежемесячно отправляются на ваш почтовый ящик. Отменить подписку в любое время.

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