gtop — небольшой дашборд для терминала, который рисует графики загрузки процессора по ядрам, памяти, swap и сети, а ниже показывает таблицу процессов. В отличие от htop, здесь нет управления процессами, зато есть наглядная картинка, которую удобно держать на отдельном экране или в SSH-сессии. Разберём установку, горячие клавиши, чтение графиков и трезвую оценку: кому gtop подходит в 2026 году, а кому лучше взять btop или bottom.
Что показывает gtop
Интерфейс собран на blessed-contrib, данные собирает библиотека systeminformation. На экране одновременно видны столбики загрузки каждого логического ядра, кольцевая диаграмма занятой памяти, отдельный индикатор swap, график сетевого трафика приёма и передачи и список процессов с PID, именем, процентом процессора и памяти. Всё обновляется с интервалом в несколько секунд; история не сохраняется, поэтому после закрытия данные теряются.
Важное ограничение: диск, температура, GPU и лимиты cgroup не отображаются. gtop — про быстрый обзор, а не про глубокую диагностику. Если на сервере несколько контейнеров, по этим графикам нельзя понять, кто именно съел память.
Установка
node --version
npm install -g gtop
sudo snap install gtop
gtop
Нужен Node.js; пакет нетребователен и работает на современных LTS-версиях. Если npm ругается на права доступа к глобальному каталогу, не стоит запускать установку через sudo — лучше настроить prefix в домашнем каталоге или использовать nvm. Проверить, куда встал бинарник, можно через npm prefix -g.
npm prefix -g
npm ls -g --depth=0
which gtop
Запуск в Docker
docker run --rm -it --name gtop \
--net=host --pid=host \
aksakalli/gtop
Без --pid=host контейнер увидит только свои процессы, а без --net=host — только свой сетевой интерфейс. Для разового просмотра на сервере, где не хочется ставить Node.js, это удобный способ. Образ небольшой, но требует доступа к docker daemon, что само по себе повышает привилегии. Рядом целесообразно держать docker stats: он демонстрирует потребление контейнеров без интерактивного дашборда и дополнительных зависимостей, а вывод остаётся в том же терминале.
Горячие клавиши
gtop
# p — сортировка по PID
# c — сортировка по процессору
# m — сортировка по памяти
# q или Ctrl+C — выход
Набор минимален: сортировка таблицы процессов по трём полям и выход. Нельзя завершить процесс, изменить приоритет, отфильтровать по имени или открыть дерево. Для этого нужен htop или btop. Зато gtop не перехватывает мышь и не конфликтует с tmux.
Как читать графики
Столбики процессора показывают загрузку каждого ядра отдельно, поэтому легко заметить перекос: одно ядро на 100 процентах, остальные спят — признак однопоточного узкого места. Кольцо памяти стоит читать вместе с swap: активный swap при высокой занятости памяти означает, что система уже давится. Сетевой график масштабируется автоматически, и по нему видно направление, но не абсолютные значения в удобном виде — для точных цифр лучше смотреть vnstat или ip -s link.
Пример разбора нагрузки
Допустим, сервер стал отвечать медленно. По gtop видно, что ядра загружены неравномерно, а память близка к пределу. Дальше дашборд заканчивается: нужно спускаться в обычные утилиты.
ps -eo pid,pcpu,pmem,comm --sort=-pcpu | head
vmstat 1 5
ss -tulpn
journalctl -k --since "1 hour ago" | tail -50
gtop в этой цепочке играет роль указателя, а не инструмента расследования. Он подсказывает, куда смотреть — процессор, память или сеть, — и экономит первые полминуты. Этого достаточно, если не путать обзор с диагностикой.
Работа в tmux и на слабых машинах
gtop хорошо переносит переподключение: внутри tmux сессия переживёт разрыв SSH, а графики продолжат обновляться. На слабой виртуалке с одним ядром сам дашборд может забирать заметную долю процессора, потому что Node.js и перерисовка экрана не бесплатны. В таком случае его лучше запускать эпизодически, а не держать открытым сутками.
Типичные проблемы
LANG=en_US.UTF-8 TERM=xterm-256color gtop
locale
echo $TERM
tput cols; tput lines
Если вместо рамок видны вопросительные знаки, виновата локаль или тип терминала. Второй частый случай — слишком маленькое окно: при ширине меньше 80 колонок блоки наезжают друг на друга, и дашборд становится нечитаемым. В SSH-сессии с медленным каналом обновление графиков может подтормаживать; помогает уменьшить окно или запускать gtop в tmux на самом сервере.
Отдельно стоит проверить, что вы смотрите на нужную машину. В контейнере без host-режимов gtop покажет процессы контейнера и его сетевой namespace, а не хоста.
Сравнение с альтернативами
htop — стандарт для работы с процессами: дерево, kill, nice, поиск, фильтры. btop — более современная картинка с мышиным управлением, темами и настройкой. bottom (btm) — быстрый инструмент на Rust с гибкой конфигурацией и графиками. glances умеет отдавать метрики по сети и в веб-интерфейс. gtop проигрывает им по функциям, но выигрывает по простоте: одна команда, никакой конфигурации, симпатичная картинка.
Актуальность в 2026 году
Последний выпуск gtop — 1.1.5, опубликованный в 2023 году. Проект не выглядит активно развивающимся, и это главный риск: новые ядра и версии Node.js могут однажды сломать совместимость. На практике пакет остаётся рабочим, потому что зависимости blessed и systeminformation стабильны. Но полагаться на gtop как на единственный инструмент мониторинга на проде не стоит. Если проект всё же понадобился надолго, зафиксируйте версию в локальном package.json и запускайте через npx, либо соберите внутренний образ с уже установленным пакетом — так обновление Node.js не станет сюрпризом.
Когда использовать
- Быстрый взгляд на сервер сразу после подключения по SSH.
- Демонстрация нагрузки на слайде или в записи экрана.
- Постоянный дашборд на неиспользуемом мониторе.
- Не подходит: разбор инцидентов, охота за утечками, работа с процессами, аудит дискового ввода-вывода.
Чек-лист
- Node.js установлен, версия не ниже LTS.
- Терминал не меньше 80 на 24, локаль UTF-8.
- Для контейнера заданы —pid=host и —net=host.
- Для точных цифр рядом есть vmstat, iostat, ss.
- На проде есть альтернатива: btop или htop.
Итог
gtop — симпатичный и предельно простой способ увидеть общую картину нагрузки в терминале. Он не притязает на роль полноценного монитора и не заменяет htop: здесь нет управления процессами, истории и дисковых метрик. Если нужен быстрый визуальный снимок на сервере или красивый дашборд на отдельном экране, gtop справится. Если речь о повседневной работе и разборе проблем, лучше держать под рукой btop и стандартный набор утилит.