Мониторинг системных ресурсов с помощью Bashtop и Bpytop в Linux
Инструменты мониторинга жизненно важны, и каждый системный администратор это знает. С помощью приложений для мониторинга ресурсов мы можем постоянно наблюдать за состоянием ресурсов системы во время выполнения задачи. Сегодня мы обсудим два монитора системных ресурсов, а именно Bashtop и Bpytop, для мониторинга системных ресурсов в Linux и Unix-подобных операционных системах. Мониторы ресурсов Bashtop и Bpytop покажут вам использование системы и статистику по процессору, памяти, дискам, сети и процессам.
Автор этого дуэта инструментов мониторинга сначала разработал Bashtop, а затем создал порт Bashtop на Python и назвал его Bpytop. У них нет большой разницы. Обе утилиты служат одной цели и имеют одинаковый набор функций. Единственная разница в том, что оба написаны на разных языках программирования. Bashtop написан на Bash, а Bpytop — на Python. Bashtop и Bpytop поддерживают GNU/Linux, Mac OS и FreeBSD.
Разработчик утверждает, что Bpytop быстрее, чем Bashtop, а Bpytop имеет больше возможностей, и предлагает нам использовать Bpytop вместо Bashtop. Однако это ваш личный выбор. Вы можете попробовать оба варианта и выбрать тот, который подойдет именно вам.
Установите монитор ресурсов Bashtop в Linux
Bashtop должен работать на любых современных системах *nix, имеющих следующие зависимости:
- Терминал с поддержкой 24-битного truecolor,
- Bash 4.4 или более поздние версии,
- Гит,
- GNU Coreutils,
- GNU СЭД,
- GNU авк,
- GNU команда,
- ps из procps-ng (v3.1.15 или новее),
- Python 3.6 или более поздние версии,
- Psutil (v5.7.0 или новее),
Дополнительные пакеты;
- Lm-сенсоры — для отображения температуры процессора,
- iostat (часть sysstat) — для отображения статистики чтения/записи диска без использования сбора данных psutil,
- curl — загружайте темы bashtop и получайте сообщения об обновлениях.
Установить bashtop в Arch Linux
Несмотря на то, что Bashtop является новой программой, за короткий период времени она стала довольно популярной и попала в официальные репозитории популярных дистрибутивов Linux.
В Arch Linux Bashtop включен в репозиторий [Community]. Чтобы установить Bashtop в Arch Linux и его вариантах, таких как Manjaro Linux, запустите:
sudo pacman -S bashtop
Он также доступен в AUR, поэтому его можно установить с помощью любой вспомогательной программы AUR, например Yay.
yay -S bashtop-git
Установить bashtop в Debian
Bashtop доступен в официальном репозитории Debian начиная с Debian 11. Чтобы установить Bashtop в Debian, запустите:
sudo apt install bashtop
Установить bashtop в Fedora
sudo dnf install bashtop
Установить bashtop на CentOS 8/RHEL 8
sudo dnf config-manager --set-enabled PowerTools
sudo dnf install epel-release
sudo dnf install bashtop
Установить bashtop в Ubuntu
Bashtop доступен в официальном репозитории Ubuntu начиная с Ubuntu 20.10.
Чтобы установить Bashtop в Ubuntu и его производных, таких как Linux Mint, запустите:
sudo apt install bashtop
Установить bashtop из Snap store
Он также доступен как приложение Snap:
sudo snap install bashtop
Установить bashtop из PPA
Также доступен официальный PPA. Добавьте Bashtop PPA и установите его в Ubuntu, выполнив одну за другой следующие команды:
sudo add-apt-repository ppa:bashtop-monitor/bashtop
sudo apt update
sudo apt install bashtop
Установить Bashtop из исходников
Вы также можете установить его из исходного кода. Просто убедитесь, что вы установили вышеупомянутые зависимости.
Git клонирует репозиторий Bashtop с помощью команды:
git clone https://github.com/aristocratos/bashtop.git
Приведенная выше команда клонирует содержимое репозитория GitHub Bashtop в каталог с именем «bashtop» в текущем каталоге. Перейдите в клонированный каталог:
$ cd bashtop
И запустите следующую команду, чтобы установить Bashtop из исходного кода:
sudo make install
Чтобы удалить его, просто запустите следующую команду из каталога bashtop:
sudo make uninstall
Установите монитор ресурсов Bpytop в Linux
Bpytop — это порт Bashtop на Python. Автор утверждает, что Bpytop намного быстрее и имеет больше возможностей, чем Bashtop.
Bpytop доступен в виде приложения Snap. Чтобы установить Bpytop в дистрибутивах Linux, поддерживающих Snapd, выполните:
sudo snap install bpytop
Установите Bpytop из исходного кода
Убедитесь, что ваша система имеет следующие зависимости:
- Терминал с поддержкой 24-битного истинного цвета,
- Python 3 (v3.6 или новее),
- модуль psutil (v5.7.0 или новее).
После установки необходимых компонентов git клонируйте репозиторий Bpytop с помощью команды:
git clone https://github.com/aristocratos/bpytop.git
Приведенная выше команда клонирует содержимое bpytop в локальный каталог с именем «bpytop». Перейдите в него и установите его, как показано ниже:
cd bpytop
sudo make install
Чтобы удалить Bpytop, просто запустите следующую команду из каталога bpytop:
sudo make uninstall
Мониторинг системных ресурсов с помощью Bashtop и Bpytop в Linux
Как я уже сказал, Bashtop и Bpytop служат одной и той же цели, то есть отслеживают системные ресурсы и отображают статистику по процессору, памяти, дискам, процессам, сети и т. д.
Чтобы начать мониторинг системных ресурсов Linux, запустите Bashtop или Bpytop, как показано ниже:
bashtop
Или,
bpytop
Пример вывода:
Мониторинг системных ресурсов с помощью Bashtop в Linux
Как вы можете видеть в приведенном выше выводе, Bashtop отображает следующую информацию:
- график использования процессора,
- Тактовая частота процессора,
- Общее использование ЦП,
- Использование каждого ядра ЦП,
- Общий объем оперативной памяти,
- Использованная оперативная память,
- Свободная оперативная память,
- Кэш-память,
- Доступная кэш-память,
- Использование свопа (использованный и бесплатный),
- Текущие скорости чтения и записи дисков.
Частота обновления по умолчанию для Bashtop/Bpytop составляет 2500 миллисекунд. Нажмите клавиши (+, A, a), чтобы добавить 100 мс к обновлению таймера. Нажмите клавиши (-, S, s), чтобы вычесть 100 мс из таймера обновления.
Выбрать и просмотреть процессы
Используйте клавиши ВВЕРХ/ВНИЗ для навигации по процессам или использованию. Нажмите клавиши Pg Up и Pg Down, чтобы перейти на 1 страницу в списке процессов. Нажмите клавиши (Home или End), чтобы перейти к первой или последней странице списка процессов.
В разделе «Процессы» в столбцах отображаются следующие сведения:
- Идентификатор процесса (PID),
- Имя процесса,
- Аргументы,
- Потоки,
- Хозяин процесса,
- Подробности использования памяти процессом,
- Загрузка процессора процессом.
Переключаться между столбцами можно с помощью клавиш со стрелками (Влево или Вправо).
Имена процессов располагаются по PID в порядке убывания. И.Е. наибольший PID будет показан сверху. Вы можете использовать клавиши (R, r) для изменения порядка сортировки в разделе процессов.
Чтобы отобразить подробную информацию о выбранном процессе, нажмите Enter.
Просмотр сведений о выбранном процессе в Bashtop
Чтобы закрыть окно сведений о выбранном процессе, нажмите клавишу ВВОД.
Фильтровать процессы
Чтобы отфильтровать процессы по определенной строке, нажмите клавиши (F, f) и введите имя строки. Например, если вы наберете "ssh", вы увидите все процессы, названия которых начинаются с букв "ssh".
Фильтровать процессы по определенной строке в Bashtop
Чтобы очистить любой введенный фильтр, нажмите клавиши (C, c).
Завершить процессы
Вы можете завершить выбранный процесс с помощью SIGTERM, нажав клавиши (T, t).
Завершить процессы в Bashtop
Убить процессы
Чтобы завершить выбранный процесс с помощью SIGKILL, нажмите клавиши (K, k).
Это эквивалентно команде «kill -9
Прерывать процессы
Чтобы прервать выбранный процесс с помощью SIGINT, нажмите клавиши (I, i).
Отобразить справку
Вы можете нажимать клавиши F1, H, h, чтобы отобразить раздел справки.
Отобразить раздел справки Bashtop
Вы можете вызвать главное меню Bashtop/Bpytop, нажав клавиши Esc, M, m.
Выйти из Bashtop/Bpytop
Чтобы выйти из Bashtop/Bpytop, просто нажмите клавиши (Ctrl-C, Q, q).
Настроить Bashtop/Bpytop
Файлы конфигурации Bashtop и Bpytop хранятся в папках "$HOME/.config/bashtop" и "$HOME/.config/bpytop" соответственно.
Вы можете просмотреть текущие параметры конфигурации Bashtop/Bpytop, просмотрев файл.
Конфигурационный файл Баштопа:
cat ~/.config/bashtop/bashtop.cfg
Конфигурационный файл Bpytop:
cat ~/.config/bashtop/bpytop.cfg
Пример вывода:
#? Config file for bashtop v. 0.9.25
#* Color theme, looks for a .theme file in "$HOME/.config/bashtop/themes" and "$HOME/.config/bashtop/user_themes"
#* Should be prefixed with either "themes/" or "user_themes/" depending on location, "Default" for builtin default theme
color_theme="Default"
#* Update time in milliseconds, increases automatically if set below internal loops processing time, recommended 2000 ms or above for better sample times for graphs
update_ms="2300"
#* Processes sorting, "pid" "program" "arguments" "threads" "user" "memory" "cpu lazy" "cpu responsive"
#* "cpu lazy" updates sorting over time, "cpu responsive" updates sorting directly
proc_sorting="pid"
#* Reverse sorting order, "true" or "false"
proc_reversed="false"
#* Show processes as a tree
proc_tree="false"
#* Check cpu temperature, only works if "sensors", "vcgencmd" or "osx-cpu-temp" commands is available
check_temp="false"
#* Draw a clock at top of screen, formatting according to strftime, empty string to disable
draw_clock="%X"
#* Update main ui when menus are showing, set this to false if the menus is flickering too much for comfort
background_update="true"
#* Custom cpu model name, empty string to disable
custom_cpu_name=""
#* Enable error logging to "$HOME/.config/bashtop/error.log", "true" or "false"
error_logging="true"
#* Show color gradient in process list, "true" or "false"
proc_gradient="true"
#* If process cpu usage should be of the core it's running on or usage of the total available cpu power
proc_per_core="false"
#* Optional filter for shown disks, should be names of mountpoints, "root" replaces "/", separate multiple values with space
disks_filter=""
#* Enable check for new version from github.com/aristocratos/bashtop at start
update_check="true"
#* Enable graphs with double the horizontal resolution, increases cpu usage
hires_graphs="false"
#* Enable the use of psutil python3 module for data collection, default on OSX
use_psutil="true"
Просто измените настройки по своему вкусу.
Кроме того, вы можете просмотреть текущие параметры из Bashtop/Bpytop TUI, нажав букву "m".
Окно настроек Баштопа
Связанное чтение:
- Некоторые альтернативы утилите командной строки «top», о которых вы, возможно, захотите узнать
Ресурсы:
- Репозиторий Bashtop на GitHub
- Репозиторий Bpytop на GitHub
Избранное изображение: Бурак К из Pexels.