Мониторинг ресурсов без боли и лишних движений
Репозиторий давно не обновлялся
Последнее обновление было 1 год назад.
Бывало такое: открываешь htop, чтобы быстро глянуть, что грузит систему, а там бесконечный список процессов, в котором нужно еще умудриться разглядеть динамику? Конечно, классические инструменты вроде top проверены временем, но иногда хочется чего-то более наглядного, чтобы графики были перед глазами сразу, без настройки конфигов.
Недавно наткнулся на tiptop. Это CLI-монитор, написанный на Python, который делает ровно одну вещь: показывает состояние вашего железа в симпатичном графическом интерфейсе прямо в терминале.
Что это за зверь
Автор проекта, Nico Schlömer, явно вдохновлялся btop, но решил сделать что-то свое, используя современные Python-библиотеки. В основе лежат две крутые штуки: Textual для отрисовки интерфейса (TUI) и psutil для сбора данных о системе.
tiptop подойдет тем, кому стандартный htop кажется слишком перегруженным текстом, а устанавливать тяжеловесные GUI-приложения для мониторинга лень. Он кроссплатформенный, так что одинаково заведется и на Linux, и на macOS, и даже на Windows.
Как это выглядит в деле
Главная фишка tiptop — графики. Вы сразу видите загрузку процессора по ядрам, использование оперативной памяти и активность сети.
Интерфейс разбит на логические блоки:
- Сверху — общая информация о CPU. Каждое ядро отображается отдельным маленьким графиком. Это удобно, если нужно понять, не завис ли какой-то поток на одном ядре.
- Ниже — блок оперативной памяти и swap.
- Отдельный раздел для сетевой активности. Можно указать конкретный интерфейс через флаг
--net, если автоопределение промахнулось. - Список процессов с сортировкой.
Техническая сторона вопроса
Интересно, что tiptop написан на Python. Обычно системные утилиты стараются делать на C++ или Rust ради производительности. Однако здесь выбор оправдан: библиотека Textual позволяет очень быстро верстать сложные интерфейсы для терминала, а psutil берет на себя всю грязную работу по общению с ядром ОС.
Для установки достаточно стандартного pip:
pip install tiptop
tiptop
Кстати, проект использует Black для форматирования кода и проходит проверку через GitHub Actions. Это хороший знак — автор следит за качеством кода, даже если это небольшая утилита.
Кому пригодится tiptop
Я использую его в паре случаев. Во-первых, когда нужно оставить мониторинг на втором мониторе в углу терминала. Благодаря графикам, краем глаза всегда видно, если произошел резкий скачок потребления ресурсов. Во-вторых, это отличный инструмент для отладки своих скриптов: запустил тяжелую обработку данных и сразу видишь, как она "ест" память в реальном времени.
Конечно, если вам нужно управлять процессами, отправлять сложные сигналы или фильтровать дерево процессов по кастомным критериям, htop все еще вне конкуренции. tiptop — это скорее про "посмотреть", а не "управлять".
Стоит ли пробовать
Если вам нравится эстетика современных терминальных приложений и вы часто работаете в консоли, tiptop определенно заслуживает места в вашем тулбоксе. Он весит копейки, ставится одной командой и просто работает.
Из минусов могу отметить разве что зависимость от Python-окружения. Если вы не хотите тащить Python-пакеты в систему, можно запустить его через pipx, чтобы изолировать зависимости.
В остальном — это крепкий, симпатичный open-source проект. Если он вам понравится, у автора в README есть ссылки на Discord и возможности для доната, что сейчас редкость для таких небольших утилит.
