26 comments

[ 0.25 ms ] story [ 58.0 ms ] thread
Hi everyone, I just built a GPU dashboard to check the utilization on NVIDIA cards directly in your browser. It also works with multiple GPUs. The idea is to have real-time metrics from a remote GPU server instead of running nvidia-smi. Let me know if you try it out!
Hey I rly like your project! And kinda amused by the comments here... Would love to chat more about it if you're down. My contact's in my profile :)
Obligatory reminder that "GPU utilisation" as a percentage is meaningless metric and does not tell you how well your GPU is utilised.

Does not change the usefulness of this dashboard, just wanted to point it out.

The "why not use" section should probably include nvtop?
This is really cool, but I tend to prefer NVtop for now.
Oh that’s neat. Been looking for a way to see vram temps on Linux
In app.py it seems like you call nvidia-smi as a subprocess and then scrape that. Are there no bindings to do that directly?
What is the benefit of this over `watch nvidia-smi`, possibly prepended with an `ssh` in the case of a remove server?
nothing super special to be honest. It's just a quick way for me to take a look at a couple of GPU boxes from the browser. Sometimes I check it from the ipad too
"nvidia-smi -l <#num seconds>" works even better.
This is awesome! Tested it out while running some plex encoding and everything worked as expected!

I did notice that nvidia-smi shows the process name as plex-transcoding but gpu-hot is showing [Not Found]. Not sure if that is where the process name is supposed to go

The AI/vibe coded "purple" color scheme is a meme at this point - might want to tweak the look and feel to not be so on the nose, but it's otherwise a good dashboard.
Not gonna check the code I have other things to do but tailwind iirc by default has some purplish color. And it is pretty common because of that.

I think AI vibe codes that because it’s probably seen that default so much.

sudo apt install nvtop

// solves everything at the above container claims to do lol

True nvtop is super useful but sometimes I want to be able to take a quick look from the browser
I’m skeptical of “no ssh” being a benefit. I’d rather have one port opened to the battle tested ssh proc (which I probably have already anyway), than open a port to some random application.

I suppose it’s trivial to proxy a http port over ssh though so that would seem like a good solution

half readable color scheme.. random python and javascript mixed in, ships with 2 python CVEs out of the box out of 5 total dependencies... yep it checks out bois...certified infested slop

  python-socketio==5.8.0: 1 CVE (CVE-2025-61765); Remote Code Execution via malicious pickle deserialization in multi-server setups.
  eventlet==0.33.3: 1 CVE (CVE-2025-58068); HTTP request smuggling from improper trailer handling.

And then economists wonder why are none of these people getting jobs...
TBH this seems useful only for a very select niche.

If you're a company and you have several GPU machines in a cluster, then this is kinda useless b/c you'd have to go on each container or node to view the dashboard.

Sure, there's a cost to using opentelemetry + whatever storage+viz backend, but once it's set up you can actually do alerting, historical views, analysis, etc. easily.

This looks neat and would probably be cool to run on one of my passive info screens. But until it supports more than just Nvidia I'll have to stick with nvtop. Might be a good idea to pull the theme out to a file so it's all swappable too (assuming you haven't, I can't look at the code right now.)
Some negativity in the comments here.

I think it’s super cool. Clean design. Great for your local self-hosted system or one of your local company systems in the office.

If you have a fleet of GPUs then maybe use your SSH CLI. This is fun and cool looking though.

why not push metrics to grafana ?