{"id":2215,"date":"2026-01-21T17:50:02","date_gmt":"2026-01-21T17:50:02","guid":{"rendered":"https:\/\/nicktailor.com\/tech-blog\/?p=2215"},"modified":"2026-01-21T17:52:24","modified_gmt":"2026-01-21T17:52:24","slug":"nvitop-the-ultimate-interactive-nvidia-gpu-monitoring-tool","status":"publish","type":"post","link":"https:\/\/nicktailor.com\/tech-blog\/nvitop-the-ultimate-interactive-nvidia-gpu-monitoring-tool\/","title":{"rendered":"nvitop &#8211; The Ultimate Interactive NVIDIA GPU Monitoring Tool"},"content":{"rendered":"<p><!--\nTitle: nvitop \u2014 The Ultimate Interactive NVIDIA GPU Monitoring Tool\nSlug: nvitop-nvidia-gpu-monitoring\nAuthor: Nick Tailor\nDate: 2026-01-22\n--><\/p>\n<article class=\"nvitop-guide\">\n<h1><\/h1>\n<p>If you&#8217;re working with NVIDIA GPUs\u00a0 whether for deep learning, HPC, or systems administration\u00a0 you&#8217;ve likely used the default <code>nvidia-smi<\/code> tool to check GPU status. But what if you want something more dynamic, interactive, and user-friendly? Enter <strong>nvitop<\/strong>, an incredible interactive NVIDIA GPU process viewer that makes monitoring your GPUs intuitive and informative.<\/p>\n<figure style=\"text-align: center; margin: 2em 0;\"><img decoding=\"async\" style=\"max-width: 100%; height: auto; border-radius: 8px; box-shadow: 0 4px 12px rgba(0,0,0,0.15);\" src=\"https:\/\/user-images.githubusercontent.com\/16078332\/113173772-508dc380-927c-11eb-84c5-b6f496e54c08.gif\" alt=\"nvitop in action - animated demonstration\" \/><figcaption style=\"margin-top: 0.75em; color: #666; font-size: 0.9em;\">nvitop in action \u2014 real-time GPU monitoring with an interactive interface<\/figcaption><\/figure>\n<p>nvitop is a Python-based GPU monitoring tool that extends and enriches what <code>nvidia-smi<\/code> does\u00a0 with live updates, color coding, interactive filtering, and more. It&#8217;s perfect for developers, engineers, researchers, and admins who need real-time insight into how GPU resources are being used.<\/p>\n<hr style=\"margin: 2.5em 0; border: none; border-top: 1px solid #ddd;\" \/>\n<h2>What Makes nvitop Different?<\/h2>\n<p>Unlike <code>nvidia-smi<\/code>, which outputs a static snapshot, nvitop offers a fundamentally different experience:<\/p>\n<ul>\n<li><strong>Interactive Real-Time Monitoring<\/strong> \u2014 Runs as a live monitor that refreshes continuously, similar to <code>htop<\/code> for CPUs<\/li>\n<li><strong>Color-Coded Output<\/strong> \u2014 Intuitive visuals make it easy to spot heavy GPU usage and memory pressure at a glance<\/li>\n<li><strong>Process Management<\/strong> \u2014 Sort, filter, and manage processes directly with keyboard controls<\/li>\n<li><strong>Rich Data Display<\/strong> \u2014 GPU metrics including utilization, memory, temperature, power, and processes in a compact, organized view<\/li>\n<li><strong>Cross-Platform<\/strong> \u2014 Works on both Linux and Windows<\/li>\n<\/ul>\n<figure style=\"text-align: center; margin: 2em 0;\"><img decoding=\"async\" style=\"max-width: 100%; height: auto; border-radius: 8px; box-shadow: 0 4px 12px rgba(0,0,0,0.15);\" src=\"https:\/\/user-images.githubusercontent.com\/16078332\/171005261-1aad126e-dc27-4ed3-a89b-7f9c1c998bf7.png\" alt=\"nvitop monitor mode interface\" \/><figcaption style=\"margin-top: 0.75em; color: #666; font-size: 0.9em;\">Monitor mode of nvitop showing GPU utilization, memory usage, and running processes<\/figcaption><\/figure>\n<hr style=\"margin: 2.5em 0; border: none; border-top: 1px solid #ddd;\" \/>\n<h2>Side-by-Side Comparison with nvidia-smi<\/h2>\n<p>The difference becomes immediately apparent when you compare nvitop&#8217;s output with the traditional <code>nvidia-smi<\/code> tool:<\/p>\n<figure style=\"text-align: center; margin: 2em 0;\"><img decoding=\"async\" style=\"max-width: 100%; height: auto; border-radius: 8px; box-shadow: 0 4px 12px rgba(0,0,0,0.15);\" src=\"https:\/\/user-images.githubusercontent.com\/16078332\/202362686-859bf4ad-6237-46ca-b2f7-f547d2f63213.png\" alt=\"nvitop compared to nvidia-smi\" \/><figcaption style=\"margin-top: 0.75em; color: #666; font-size: 0.9em;\">nvitop (top) vs nvidia-smi (bottom) \u2014 notice the richer information density and visual clarity<\/figcaption><\/figure>\n<hr style=\"margin: 2.5em 0; border: none; border-top: 1px solid #ddd;\" \/>\n<h2>Installation<\/h2>\n<p>Installing nvitop is straightforward. If you have Python installed, you can use <code>pip<\/code>:<\/p>\n<pre style=\"background: #1e1e1e; color: #d4d4d4; padding: 1.25em; border-radius: 6px; overflow-x: auto;\"><code>pip install --upgrade nvitop<\/code><\/pre>\n<p>Or, if you prefer <code>conda<\/code>:<\/p>\n<pre style=\"background: #1e1e1e; color: #d4d4d4; padding: 1.25em; border-radius: 6px; overflow-x: auto;\"><code>conda install -c conda-forge nvitop<\/code><\/pre>\n<p>For isolated environments using <code>uvx<\/code> or <code>pipx<\/code>:<\/p>\n<pre style=\"background: #1e1e1e; color: #d4d4d4; padding: 1.25em; border-radius: 6px; overflow-x: auto;\"><code>uvx nvitop\n# or\npipx run nvitop<\/code><\/pre>\n<p>Once installed, simply run:<\/p>\n<pre style=\"background: #1e1e1e; color: #d4d4d4; padding: 1.25em; border-radius: 6px; overflow-x: auto;\"><code>nvitop<\/code><\/pre>\n<p>This launches the interactive monitor showing your NVIDIA GPUs, their current utilization, and the processes using them \u2014 all updating live.<\/p>\n<hr style=\"margin: 2.5em 0; border: none; border-top: 1px solid #ddd;\" \/>\n<h2>What You&#8217;ll See<\/h2>\n<p>Running <code>nvitop<\/code> in your terminal displays a live dashboard with comprehensive GPU stats:<\/p>\n<ul>\n<li>GPU temperature and fan speed<\/li>\n<li>Memory usage with bar charts<\/li>\n<li>GPU and memory utilization percentages<\/li>\n<li>Power consumption<\/li>\n<li>Process list with GPU memory and compute usage per process<\/li>\n<li>History graphs for utilization trends<\/li>\n<\/ul>\n<p>It&#8217;s like combining the best of <code>nvidia-smi<\/code>, <code>top<\/code>, and <code>htop<\/code> \u2014 but specifically designed for your GPUs.<\/p>\n<figure style=\"text-align: center; margin: 2em 0;\"><img decoding=\"async\" style=\"max-width: 100%; height: auto; border-radius: 8px; box-shadow: 0 4px 12px rgba(0,0,0,0.15);\" src=\"https:\/\/user-images.githubusercontent.com\/16078332\/202362811-34f2c01d-97c8-49d2-b19b-0d7da648f2d5.png\" alt=\"nvitop process filtering\" \/><figcaption style=\"margin-top: 0.75em; color: #666; font-size: 0.9em;\">Process filtering and colorful interface \u2014 easily identify resource-heavy processes<\/figcaption><\/figure>\n<hr style=\"margin: 2.5em 0; border: none; border-top: 1px solid #ddd;\" \/>\n<h2>Process Metrics and Management<\/h2>\n<p>One of nvitop&#8217;s standout features is the ability to dive deep into individual process metrics. Select a process and press <kbd>Enter<\/kbd> to see detailed live graphs:<\/p>\n<figure style=\"text-align: center; margin: 2em 0;\"><img decoding=\"async\" style=\"max-width: 100%; height: auto; border-radius: 8px; box-shadow: 0 4px 12px rgba(0,0,0,0.15);\" src=\"https:\/\/user-images.githubusercontent.com\/16078332\/192108815-37c03705-be44-47d4-9908-6d05175db230.png\" alt=\"nvitop process metrics screen\" \/><figcaption style=\"margin-top: 0.75em; color: #666; font-size: 0.9em;\">Process metrics screen \u2014 watch detailed GPU usage for a specific process<\/figcaption><\/figure>\n<p>You can also manage processes directly from the interface:<\/p>\n<ul>\n<li><kbd>Ctrl+C<\/kbd> or <kbd>I<\/kbd> \u2014 Send interrupt signal (SIGINT)<\/li>\n<li><kbd>T<\/kbd> \u2014 Terminate process (SIGTERM)<\/li>\n<li><kbd>K<\/kbd> \u2014 Kill process (SIGKILL)<\/li>\n<li><kbd>t<\/kbd> \u2014 Toggle tree-view to see process hierarchies<\/li>\n<li><kbd>e<\/kbd> \u2014 View environment variables<\/li>\n<\/ul>\n<hr style=\"margin: 2.5em 0; border: none; border-top: 1px solid #ddd;\" \/>\n<h2>Windows Support<\/h2>\n<p>Unlike many GPU monitoring tools that are Linux-only, nvitop works natively on Windows as well:<\/p>\n<figure style=\"text-align: center; margin: 2em 0;\"><img decoding=\"async\" style=\"max-width: 100%; height: auto; border-radius: 8px; box-shadow: 0 4px 12px rgba(0,0,0,0.15);\" src=\"https:\/\/user-images.githubusercontent.com\/16078332\/129374533-fe06c01a-630d-4994-b54b-821cccd0d33c.png\" alt=\"nvitop running on Windows\" \/><figcaption style=\"margin-top: 0.75em; color: #666; font-size: 0.9em;\">nvitop running on Windows with PowerShell in Windows Terminal<\/figcaption><\/figure>\n<hr style=\"margin: 2.5em 0; border: none; border-top: 1px solid #ddd;\" \/>\n<h2>Built-in Help<\/h2>\n<p>Press <kbd>h<\/kbd> at any time to access the comprehensive help screen with all available keybindings:<\/p>\n<figure style=\"text-align: center; margin: 2em 0;\"><img decoding=\"async\" style=\"max-width: 100%; height: auto; border-radius: 8px; box-shadow: 0 4px 12px rgba(0,0,0,0.15);\" src=\"https:\/\/user-images.githubusercontent.com\/16078332\/192108664-61f1983c-6f62-48e6-87c5-29633d9c409e.png\" alt=\"nvitop help screen\" \/><figcaption style=\"margin-top: 0.75em; color: #666; font-size: 0.9em;\">The built-in help screen \u2014 press <kbd>h<\/kbd> to access<\/figcaption><\/figure>\n<hr style=\"margin: 2.5em 0; border: none; border-top: 1px solid #ddd;\" \/>\n<h2>Why This Matters<\/h2>\n<p>Real-time GPU visibility is crucial in many modern workloads:<\/p>\n<ul>\n<li><strong>Deep Learning Training<\/strong> \u2014 See which models or data pipelines are consuming your GPU resources and identify bottlenecks<\/li>\n<li><strong>HPC \/ Multi-User Servers<\/strong> \u2014 Quickly identify who is using GPUs and how much, essential for shared compute environments<\/li>\n<li><strong>Debugging<\/strong> \u2014 Spot processes consuming excessive memory or identify stuck jobs that need intervention<\/li>\n<li><strong>DevOps Monitoring<\/strong> \u2014 Integrate with larger monitoring stacks using nvitop&#8217;s Python API or the new nvitop-exporter for Grafana dashboards<\/li>\n<\/ul>\n<hr style=\"margin: 2.5em 0; border: none; border-top: 1px solid #ddd;\" \/>\n<h2>Key Features Summary<\/h2>\n<table style=\"width: 100%; border-collapse: collapse; margin: 1.5em 0;\">\n<thead>\n<tr style=\"background: #f5f5f5;\">\n<th style=\"padding: 12px; text-align: left; border-bottom: 2px solid #ddd;\">Feature<\/th>\n<th style=\"padding: 12px; text-align: left; border-bottom: 2px solid #ddd;\">Description<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td style=\"padding: 12px; border-bottom: 1px solid #eee;\">Live Monitoring<\/td>\n<td style=\"padding: 12px; border-bottom: 1px solid #eee;\">Continuous updates with configurable refresh intervals<\/td>\n<\/tr>\n<tr>\n<td style=\"padding: 12px; border-bottom: 1px solid #eee;\">Process Management<\/td>\n<td style=\"padding: 12px; border-bottom: 1px solid #eee;\">Kill, terminate, or interrupt processes directly<\/td>\n<\/tr>\n<tr>\n<td style=\"padding: 12px; border-bottom: 1px solid #eee;\">Tree View<\/td>\n<td style=\"padding: 12px; border-bottom: 1px solid #eee;\">See process hierarchies and parent relationships<\/td>\n<\/tr>\n<tr>\n<td style=\"padding: 12px; border-bottom: 1px solid #eee;\">Device Selection<\/td>\n<td style=\"padding: 12px; border-bottom: 1px solid #eee;\">Includes <code>nvisel<\/code> tool for CUDA device selection<\/td>\n<\/tr>\n<tr>\n<td style=\"padding: 12px; border-bottom: 1px solid #eee;\">Python API<\/td>\n<td style=\"padding: 12px; border-bottom: 1px solid #eee;\">Full programmatic access for custom monitoring tools<\/td>\n<\/tr>\n<tr>\n<td style=\"padding: 12px; border-bottom: 1px solid #eee;\">MIG Support<\/td>\n<td style=\"padding: 12px; border-bottom: 1px solid #eee;\">Works with NVIDIA Multi-Instance GPU configurations<\/td>\n<\/tr>\n<tr>\n<td style=\"padding: 12px; border-bottom: 1px solid #eee;\">Grafana Integration<\/td>\n<td style=\"padding: 12px; border-bottom: 1px solid #eee;\">Export metrics via nvitop-exporter for dashboards<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<hr style=\"margin: 2.5em 0; border: none; border-top: 1px solid #ddd;\" \/>\n<h2>Common Usage Examples<\/h2>\n<pre style=\"background: #1e1e1e; color: #d4d4d4; padding: 1.25em; border-radius: 6px; overflow-x: auto;\"><code># Basic monitoring (auto display mode)\nnvitop\n\n# One-shot query (like nvidia-smi)\nnvitop -1\n\n# Full display mode\nnvitop -m full\n\n# Compact display mode\nnvitop -m compact\n\n# Only show specific GPUs\nnvitop -o 0 1\n\n# Only show CUDA visible devices\nnvitop -ov\n\n# Colorful spectrum-like bar charts\nnvitop --colorful\n\n# For light terminal themes\nnvitop --light<\/code><\/pre>\n<hr style=\"margin: 2.5em 0; border: none; border-top: 1px solid #ddd;\" \/>\n<h2>Summary<\/h2>\n<p>If you&#8217;re into HPC and GPU diagnostics, this is a cool tool to learn and play with. Nick Tailor tech choice award for sure.<\/p>\n<p>Check out the official repository on GitHub: <a href=\"https:\/\/github.com\/XuehaiPan\/nvitop\" target=\"_blank\" rel=\"noopener\">https:\/\/github.com\/XuehaiPan\/nvitop<\/a><\/p>\n<p>Full API documentation is available at: <a href=\"https:\/\/nvitop.readthedocs.io\" target=\"_blank\" rel=\"noopener\">https:\/\/nvitop.readthedocs.io<\/a><\/p>\n<\/article>\n","protected":false},"excerpt":{"rendered":"<p>If you&#8217;re working with NVIDIA GPUs\u00a0 whether for deep learning, HPC, or systems administration\u00a0 you&#8217;ve likely used the default nvidia-smi tool to check GPU status. But what if you want something more dynamic, interactive, and user-friendly? Enter nvitop, an incredible interactive NVIDIA GPU process viewer that makes monitoring your GPUs intuitive and informative. nvitop in action \u2014 real-time GPU monitoring<a href=\"https:\/\/nicktailor.com\/tech-blog\/nvitop-the-ultimate-interactive-nvidia-gpu-monitoring-tool\/\" class=\"read-more\">Read More &#8230;<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[143],"tags":[],"class_list":["post-2215","post","type-post","status-publish","format-standard","hentry","category-hpc"],"_links":{"self":[{"href":"https:\/\/nicktailor.com\/tech-blog\/wp-json\/wp\/v2\/posts\/2215","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nicktailor.com\/tech-blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/nicktailor.com\/tech-blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/nicktailor.com\/tech-blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/nicktailor.com\/tech-blog\/wp-json\/wp\/v2\/comments?post=2215"}],"version-history":[{"count":3,"href":"https:\/\/nicktailor.com\/tech-blog\/wp-json\/wp\/v2\/posts\/2215\/revisions"}],"predecessor-version":[{"id":2218,"href":"https:\/\/nicktailor.com\/tech-blog\/wp-json\/wp\/v2\/posts\/2215\/revisions\/2218"}],"wp:attachment":[{"href":"https:\/\/nicktailor.com\/tech-blog\/wp-json\/wp\/v2\/media?parent=2215"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nicktailor.com\/tech-blog\/wp-json\/wp\/v2\/categories?post=2215"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nicktailor.com\/tech-blog\/wp-json\/wp\/v2\/tags?post=2215"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}