Есть способ увидеть всё состояние системы на одном экране в реальном времени, с графиками, цветовой индикацией и историей изменений. И для этого не нужно устанавливать тяжеловесные системы мониторинга вроде Zabbix или Prometheus, если речь идёт о быстрой диагностике. Решение называется btop. Это современный, красивый и невероятно информативный монитор ресурсов, который работает в любом терминале. Разберём, почему он заменяет собой целый набор утилит, как его настроить под себя и какие скрытые функции экономят время администратора.
Почему btop лучше старого доброго htop
Htop — отличный инструмент, но он показывает только процессы и нагрузку на процессор. Btop идёт дальше. Он отображает четыре ключевых метрики одновременно: процессор, память, диск и сеть. Каждому блоку посвящена своя панель с графиком истории нагрузки. Вы сразу видите корреляцию: например, всплеск сетевого трафика совпадает с ростом нагрузки на диск (кто-то качает большой файл), а не с активностью процессора.
Интерфейс поддерживает управление мышью, что редкость для терминальных утилит. Вы можете кликнуть на процесс, чтобы увидеть дерево зависимостей, или нажать на сетевой интерфейс, чтобы отфильтровать трафик. Цветовая схема меняется в зависимости от нагрузки: зелёный — норма, жёлтый — внимание, красный — критическая нагрузка. Это позволяет считывать состояние сервера периферийным зрением, не вчитываясь в цифры.
Установка за одну минуту
Btop доступен в репозиториях большинства дистрибутивов. В Ubuntu/Debian/Астра Линукс выполните:
sudo apt install btop
В CentOS/RHEL:
sudo yum install epel-release
sudo yum install btop
Если в репозитории старая версия, используйте статический бинарный файл с GitHub. Скачайте архив, распакуйте и запустите файл btop. Никаких зависимостей, никаких компиляций. Программа готова к работе сразу после запуска.
Интерфейс, который работает на вас
Запустите команду btop. Вы увидите четыре основные панели.
Процессор (CPU). Показывает загрузку каждого ядра отдельно и общую статистику. Обратите внимание на температуру процессора, если она поддерживается системой. Если одно ядро загружено на 100%, а остальные спят, вы сразу поймёте, что приложение однопоточное и не масштабируется.
Память (Memory). Отображает использование оперативной памяти и swap. График показывает историю. Если линия swap растёт, а свободная память падает, система начинает сбрасывать данные на диск. Это первая причина «тормозов». Btop подсвечивает этот момент красным.
Диск (Disk). Показывает скорость чтения и записи для каждого раздела. Вы видите не просто «диск занят», а конкретную скорость в МБ/с. Если значение скачет от 0 до максимума, это признак фрагментированного ввода-вывода или работы базы данных без кэширования.
Сеть (Network). Отображает входящий и исходящий трафик по интерфейсам. Вы видите пиковые значения и текущую скорость. Если сервер вдруг начал отдавать гигабиты данных, вы заметите это мгновенно.
Внизу списка процессов отображаются детали выбранного приложения: открытые файлы, используемые порты, дерево процессов. Всё это обновляется в реальном времени без мерцания экрана.
Скрытые возможности, о которых мало кто знает
Нажмите клавишу m для переключения режима отображения памяти. По умолчанию btop показывает доступную память. Режим m переключает на детализацию по типам: кэш, буферы, разделяемая память. Это помогает понять, куда именно ушла память.
Нажмите n для сортировки процессов. По умолчанию они отсортированы по загрузке процессора. Переключайте сортировку на память, диск или сеть. Если сервер «висит» из-за диска, сортировка по CPU ничего не покажет. Сортировка по диску сразу выведет виновника в топ списка.
Используйте фильтры. Нажмите / и введите имя процесса. Btop скроет всё лишнее и оставит только нужные строки. Это спасает, когда в системе тысячи процессов и найти нужный невозможно.
Сохраняйте конфигурацию. Нажмите esc для выхода в меню, выберите Options. Здесь можно настроить частоту обновления (по умолчанию 1 секунда, можно уменьшить до 100 мс для более плавной картинки), цветовую тему и параметры графиков. Изменения сохраняются в файле ~/.config/btop/btop.conf. Вы можете скопировать этот файл на все свои сервера через Ansible или scp, чтобы получить единообразный вид мониторинга везде.
Когда btop незаменим
Представьте ситуацию: сайт лежит. Вы заходите на сервер. Btop сразу показывает, что сеть забита входящим трафиком (возможно, DDoS), а диск простаивает. Вы не тратите время на проверку базы данных. Вы сразу идете в настройки фаервола.
Другой случай: база данных отвечает медленно. Btop показывает высокую нагрузку на диск (I/O wait) и активный процесс postgres. Вы видите, что другие процессы не нагружают систему. Проблема локализована: нужно оптимизировать запросы или добавить памяти для кэша.
Третий случай: утечка памяти. Вы видите, как линия использования RAM медленно ползёт вверх день за днём. Btop сохраняет историю за последние часы (в зависимости от размера терминала). Вы видите тренд, а не только текущее значение. Это позволяет заметить проблему до того, как сервер упадёт с ошибкой OOM Killer.
Итог
Btop не заменит полноценный мониторинг с алертингом и долгосрочным хранением метрик. Но для оперативной диагностики, когда нужно «здесь и сейчас» понять, что происходит с сервером, он не имеет равных. Он бесплатен, лёгковесен, красив и информативен. Установите его на свой рабочий сервер сегодня. Замените четыре открытых терминала одним окном. Вы удивитесь, сколько времени экономили раньше, переключаясь между утилитами.
Попробуйте запустить btop прямо сейчас. Нажмите h для справки. Изучите горячие клавиши. Настройте тему под свой вкус. Сделайте диагностику сервера приятной и наглядной. Если у вас есть свои любимые терминальные утилиты, делитесь ими в комментариях. Соберём коллекцию инструментов, которые делают жизнь администратора проще.