mirror of
https://github.com/XuehaiPan/nvitop.git
synced 2026-10-23 08:07:34 -06:00
[GH-ISSUE #221] [BUG] GPU clock frequency is masked by the UTL bar #214
Labels
No labels
api
bug
bug
cli / tui
dependencies
documentation
documentation
documentation
duplicate
enhancement
exporter
invalid
pull-request
pynvml
question
question
upstream
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
github-starred/nvitop#214
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @FlorinAndrei on GitHub (Jun 23, 2026).
Original GitHub issue: https://github.com/XuehaiPan/nvitop/issues/221
Originally assigned to: @XuehaiPan on GitHub.
Required prerequisites
What version of nvitop are you using?
1.7.0
Operating system and version
Ubuntu 24.04
NVIDIA driver version
580.159.03
NVIDIA-SMI
Python environment
3.13.14 (main, Jun 11 2026, 12:30:59) [GCC 13.3.0] linux
nvidia-ml-py==13.580.82
nvitop==1.7.0
Problem description
The GPU clock frequency indicator shares a row with the UTL bar.
Most of the time, I can read the GPU clock frequency just fine. But when UTL is high, it covers the GPU clock frequency, and I cannot read that anymore.
GPU clock frequency is an important metric. It should never be hidden.
Steps to Reproduce
Run nvitop
Create a task that raises GPU utilization close to 100%.
Watch the GPU clock indicator.
Traceback
Logs
Expected behavior
GPU clock frequency should never be masked.
Additional context
My system has a bug specifically related to the GPU clock. Troubleshooting the bug, I would like to use nvitop, since it provides so much information. But I cannot use nvitop because I cannot read the most important metric in this case.
@XuehaiPan commented on GitHub (Jul 10, 2026):
Hi @FlorinAndrei, thanks for the report and sorry for the late reply. This is intentional rather than a bug. When the terminal isn't wide enough to show everything on a row,
nvitopdeliberately keeps the most relevant value instead of overflowing. Which value that is comes down to preference: most users want the utilization rate, while some prefer the clock speed, so the utilization rate takes that slot by default.A few ways to see the clock:
Enlarge the terminal window — the simplest fix. With more width,
nvitophas room to show the clock next to the utilization bar.Use the
monitor-coloredexample for an always-visible readout. It printsSM ClockandMemory Clockon their own rows that are never truncated, which is handy for troubleshooting clock behavior. Run it without cloning the repo:Export to Prometheus and build a custom dashboard —
nvitop-exporterpublishes the clocks (gpu_clock_sm,gpu_clock_memory, …) alongside every other metric, so you can put the clock front and center on a Grafana dashboard.Build your own monitor on the nvitop API —
nvitopis also a library:device.sm_clock(),device.memory_clock(), and friends return the raw values, so you can render exactly what you want (themonitor-coloredexample above is a good starting point). See the API reference.Thanks again!
@FlorinAndrei commented on GitHub (Jul 10, 2026):
@XuehaiPan
I understand the reasoning. But just looking at this part:
The bar covers the frequency even when running nvitop in a maximized terminal. The terminal uses the whole screen. And yet the bar still covers the numbers. I'm running nvitop in a maximized terminal on a MacBook Pro, the screen is very high resolution (Retina display), and yet the bars take over the whole space. This does not seem to serve a useful purpose.
Could we have a certain size threshold, above which the bar does not keep growing? We don't need an infinite bar, just one long enough. The fix seems simple: just cap the bar length.
Also, past a certain screen size, allowing the bars to get even bigger is not useful as a visual indicator.
This is true of all 4 bars, not just UTL.
--readonlyto CLI #218