Open Source AI Project


NviTop is an interactive real-time monitoring tool for NVIDIA-GPU performance, resources, and processes.


NviTop is an advanced interactive tool designed specifically for real-time monitoring of NVIDIA-GPU performance, resources, and processes, offering a more detailed and user-friendly alternative to the basic nvidia-smi command. This tool is distinguished by its rich, real-time visualization features, such as aesthetically pleasing colors and intuitive progress bars that present GPU and CPU memory utilization and usage rates of processes on a particular GPU card. Unlike traditional command-line tools, NviTop enhances user experience with its interactive capabilities, allowing users to actively manage and monitor GPU processes through features like tree view, environment variable viewing, process filtering, and process metric detection.

NviTop excels in its ability to track the memory and utilization rates of individual processes on both GPU and CPU over time, presenting this crucial data in easily digestible bar graphs. This enables users to gain insights into the GPU user, usage time, command line used, as well as comprehensive records of GPU and CPU utilization. For developers and those seeking to build custom monitoring solutions, NviTop provides a valuable API, facilitating the creation of tailored monitoring tools.

Written entirely in Python, NviTop boasts cross-platform compatibility, functioning seamlessly across both Linux and Windows operating systems. Its installation simplicity, achievable via pip, and its portability make it an attractive option for a wide range of users, from deep learning researchers to system administrators. The tool’s design emphasizes efficiency and responsiveness, utilizing NVML Python bindings for direct device state querying, cachetools for efficient result caching, and multi-threading to ensure the tool remains responsive to user inputs.

Additionally, NviTop includes a CUDA device selection tool named nvisel, further enhancing its utility by simplifying the process of selecting CUDA devices for specific tasks. Its interface is not only rich and informative, continuously updating device and process statuses, but also interactive and mouse-supported, catering to a broad spectrum of user preferences including ASCII-only terminal support and spectrum-like bar charts.

By leveraging the PSutil library for cross-platform process information retrieval without the need for spawning subprocesses, NviTop ensures a high degree of efficiency and integration capability. This makes it significantly more versatile and powerful compared to similar tools like nvidia-smi, gpustat, py3nvml, and nvtop, offering deep learning researchers and system administrators a comprehensive, efficient, and user-friendly monitoring and management tool for NVIDIA-GPU resources.

Relevant Navigation

No comments

No comments...