Repolode
XuehaiPan

XuehaiPan/nvitop

Интерактивный монитор NVIDIA GPU в терминале: показывает состояние устройств и процессов, позволяет выбирать устройства через CLI и предоставляет Python API.

Open source альтернатива:nvidia-smi

Звёзды
7,217
Форки
251
Открытые issues
19
Последний коммит
3 дня назад

Что это?

nvitop — интерактивный просмотрщик процессов для NVIDIA GPU. Он показывает загрузку, память и температуру каждого устройства, а также запущенные на каждой карте GPU-процессы и сведения о них на хосте: пользователя, загрузку CPU и использование памяти. Режим монитора постоянно обновляет данные и поддерживает сортировку, фильтрацию, древовидный просмотр родительских процессов, просмотр переменных окружения и отправку сигналов процессам с клавиатуры или мыши.

Помимо монитора, в пакет входит nvisel — CLI-утилита, которая выбирает значение CUDA_VISIBLE_DEVICES с учетом объема свободной памяти, загрузки и количества устройств. Она полезна перед запуском задач глубокого обучения. Кроме того, пакет предоставляет Python API для получения сведений об устройствах и процессах, а также Prometheus exporter и дашборд Grafana. Проект написан на чистом Python с использованием NVML bindings и работает на Linux и Windows.

Ключевые возможности

  • 01Интерактивный монитор с гистограммами, графиками истории, сортировкой и фильтрацией процессов.
  • 02Древовидный просмотр GPU-процессов вместе с их родительскими процессами.
  • 03Отправка процессам сигналов SIGINT, SIGTERM или SIGKILL прямо из интерфейса.
  • 04Режим только для чтения отключает сочетания клавиш, которые изменяют состояние процессов.
  • 05nvisel выбирает CUDA-устройства по объему свободной памяти, загрузке и количеству.
  • 06Python API для получения сведений об устройствах и процессах, а также Prometheus exporter с дашбордом Grafana.

Сценарии использования

  • Проверять по SSH, какие пользователи и процессы занимают общие GPU на сервере лаборатории или кластера.
  • Выбирать свободные GPU для обучения через CUDA_VISIBLE_DEVICES перед запуском задачи.
  • Создавать собственные скрипты или дашборды для мониторинга GPU с помощью Python API.
  • Передавать метрики GPU в Prometheus и Grafana для длительного отслеживания.

Быстрый старт

  1. 1

    Установите с помощью uvx (постоянная установка не требуется)

    uvx nvitop
  2. 2

    Или установите из PyPI с помощью pip

    pip3 install --upgrade nvitop
  3. 3

    Или запустите с помощью pipx

    pipx run nvitop

Что важно знать

  • Требуется графический процессор NVIDIA с установленной библиотекой NVML (драйвером).
  • Для режима мониторинга нужен терминал с поддержкой curses; в Windows некоторые терминалы могут не поддерживать мышь.

Темы

Частые вопросы

Что такое nvitop?
Интерактивный монитор NVIDIA GPU в терминале: показывает состояние устройств и процессов, позволяет выбирать устройства через CLI и предоставляет Python API. nvitop — интерактивный просмотрщик процессов для NVIDIA GPU. Он показывает загрузку, память и температуру каждого устройства, а также запущенные на каждой карте GPU-процессы и сведения о них на хосте: пользователя, загрузку CPU и использование памяти. Режим монитора постоянно обновляет данные и поддерживает сортировку, фильтрацию, древовидный просмотр родительских процессов, просмотр переменных окружения и отправку сигналов процессам с клавиатуры или мыши.
nvitop можно использовать бесплатно? Какая у него лицензия?
nvitop распространяется с открытым исходным кодом под лицензией Apache-2.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
nvitop всё ещё поддерживается?
Активно поддерживается. Последний коммит в nvitop — 17 окт. 2026 г..
Для чего можно использовать nvitop?
Проверять по SSH, какие пользователи и процессы занимают общие GPU на сервере лаборатории или кластера. Выбирать свободные GPU для обучения через CUDA_VISIBLE_DEVICES перед запуском задачи. Создавать собственные скрипты или дашборды для мониторинга GPU с помощью Python API. Передавать метрики GPU в Prometheus и Grafana для длительного отслеживания.
Как установить nvitop?
Установите с помощью uvx (постоянная установка не требуется): uvx nvitop Или установите из PyPI с помощью pip: pip3 install --upgrade nvitop Или запустите с помощью pipx: pipx run nvitop
Где скачать nvitop?
Исходный код и инструкции по установке — на GitHub: https://github.com/XuehaiPan/nvitop

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты