Articole
    Home » Vizualizați performanța GPU cu nvtop și radeontop – ghiduri moderne pentru NVIDIA și AMD
Vizualizați performanța GPU cu nvtop și radeontop – ghiduri moderne pentru NVIDIA și AMD

Vizualizați performanța GPU cu nvtop și radeontop – ghiduri moderne pentru NVIDIA și AMD

Despre acest articol

Dacă ai ajuns aici, probabil ai deja un server cu GPU (sau vrei unul), rulezi containere, VM-uri, poate chiar ai dat de cap docker-ului cu suport CUDA, și vrei să vezi ce face placa ta video în timp real, fără să te pierzi în grafice complicate sau dashboard-uri de tip „enterprise”.
Articolul ăsta e pentru devops, sysadmini, developeri, oameni pasionați de AI, ML, gaming, streaming sau orice altceva ce stoarce GPU-ul pe server. Vorbim despre nvtop (pentru NVIDIA) și radeontop (pentru AMD), două utilitare moderne, rapide, text-based, care îți arată clar și simplu ce se întâmplă cu plăcile tale video.
Vei afla de ce e important să monitorizezi GPU-ul, cum se instalează instant, la ce folosește, ce poți face cu ele, plus câteva tips & tricks pentru automatizare. Let’s geek out!
(Dacă ai nevoie de un VPS sau server dedicat cu GPU, poți comanda direct aici: VPS sau Server dedicat.)

Problema reală: De ce contează monitorizarea GPU?

Imaginează-ți: rulezi un job de machine learning, ai lansat training-ul modelului, te uiți la consolele de loguri, totul pare să meargă… dar modelul merge extraordinar de încet. Te uiți la utilizarea procesorului: 5%. Hmm. RAM-ul: 20%. „Dar GPU-ul?!” — habar n-ai.
Ți s-a întâmplat să rulezi ceva și să nu știi dacă GPU-ul chiar lucrează sau doar stă degeaba? Să ai suspiciuni că docker-ul nu vede placa video, sau că driverul s-a blocat? Să vrei să distribui joburi pe mai multe plăci, dar nu știi care e liberă?
Asta e drama reală în lumea serverelor moderne cu GPU. Fără monitorizare, e ca și cum ai conduce o mașină sport cu vitezometrul acoperit.

  • Poți pierde bani: plătești pentru hardware pe care nu-l folosești.
  • Poți rata deadline-uri: task-uri lente, debugging greoi, nervi.
  • Poți avea downtime: dacă driverul sau GPU-ul o ia razna, nu vezi la timp.

Soluția? Un utilitar simplu, rapid, care merge direct în shell, fără X, fără browser, fără clickuri. Aici intră în scenă nvtop și radeontop.

Cum funcționează nvtop și radeontop?

Ambele tool-uri sunt ca niște „top”-uri pentru GPU. Dacă știi top sau htop pentru CPU/RAM, aici e la fel, dar pentru placă video. În terminal, text-based, refresh rapid, info clar.
nvtop e pentru plăci NVIDIA, citește date din driverul oficial (prin NVML). radeontop e pentru AMD, citește din /sys și din API-urile kernelului Linux.
Ambele arată:

  • Utilizare GPU (%)
  • Memorie video folosită (MB/GB)
  • Procesele care folosesc GPU-ul (PID, user, comanda)
  • Temperatura, frecvență, putere consumată (unde e suportat)
  • Statistici pe mai multe plăci simultan

Algoritmii sunt simpli: tool-ul citește la fiecare X secunde datele din API-ul driverului, parsează, afișează în terminal cu culori și bare grafice text.
Structura: interfață ncurses (deci merge și în SSH, nu-ți trebuie GUI), cu shortcut-uri pentru sortare, filtrare, refresh, etc.

Cum se instalează rapid?

  • Pe majoritatea distribuțiilor moderne, nvtop și radeontop sunt deja în repo-uri.
  • Pe servere enterprise, poți compila din sursă, dar de obicei nu e nevoie.
  • Nu necesită configurare specială. Rulezi, vezi info.

Cazuri de utilizare și beneficii

  • DevOps & Admini: Vrei să vezi dacă docker-ul sau VM-ul chiar folosește GPU-ul? Rulezi nvtop sau radeontop în SSH și vezi instant ce procese consumă placă.
  • AI/ML/Deep Learning: Verifici dacă training-ul merge pe GPU sau fallback pe CPU (aka „CUDA not available, fallback… ai pierdut o noapte degeaba”).
  • Streaming & Encoding: Monitorizezi hardware-ul la encoding video (OBS, ffmpeg cu NVENC/AMF), vezi dacă e folosit corect hardware-ul.
  • Gaming pe server: Dacă rulezi VM cu passthrough GPU, vezi dacă jocul chiar folosește GPU-ul dedicat.
  • Cluster & Cloud: Distribui joburi pe mai multe plăci, vezi care sunt idle, care sunt full.
  • Debugging: Depistezi rapid procese zombie pe GPU, memory leaks, joburi blocate.

Beneficii?

  • Zero setup, zero overhead.
  • Merge și pe servere fără GUI (SSH only, perfect pentru cloud/VPS).
  • Nu consumă resurse, nu blochează GPU-ul.
  • Instant feedback, fără clickuri sau dashboard-uri greoaie.

Cum să instalezi rapid nvtop și radeontop

1. Instalare pe Ubuntu/Debian

Pentru NVIDIA (nvtop):


sudo apt update
sudo apt install nvtop

Pentru AMD (radeontop):


sudo apt update
sudo apt install radeontop

2. Instalare pe CentOS/RHEL/Fedora

Pentru NVIDIA:


sudo dnf install nvtop

Pentru AMD:


sudo dnf install radeontop

3. Compilare din sursă (dacă vrei bleeding-edge)

nvtop: github.com/Syllo/nvtop
radeontop: github.com/clbr/radeontop

(Pro tip: pe servere cloud fără sudo, poți compila în home user și rula local.)

4. Rulare rapidă

  • Rulează nvtop sau radeontop direct în terminal.
  • Shortcut-uri utile în interfață: h pentru help, q pentru quit, s pentru sortare, etc.
  • Funcționează în orice sesiune SSH, chiar și remote, fără X11 forwarding.

5. Integrare cu automatizări

  • Poți folosi watch -n 1 nvtop --no-interactive pentru refresh automat.
  • Redirectează output-ul în fișiere de log pentru analiză ulterioară.
  • Rulează periodic cu cron pentru monitorizare automată.

Exemple, comparații & recomandări

Exemplu clasic de folosire:

  • Rulezi nvtop. Vezi 3 plăci NVIDIA, una folosită 99% (job de ML), alta la 0% (idle), alta la 30% (encoding video).
  • Dai click pe PID sau user, vezi ce proces folosește placa. Poți kill-ui direct procesul cu kill dacă e nevoie.

Exemplu negativ:

  • Rulezi nvtop, dar vezi „No device found”. De obicei: driverul nu e instalat, docker-ul nu are acces la device, sau e nevoie de reboot după update kernel.
  • Pe servere virtualizate: unele VPS-uri nu expun device-ul GPU către guest, deci tool-ul nu vede nimic.

Comic Metaphor: GPU-Top Showdown!

Tool Personalitate Ce știe să facă Unde e bun Unde e slab
nvtop Super-eroul NVIDIA, musculos, rapid, cu ochelari de soare Tot ce vrei pentru plăci NVIDIA, inclusiv multi-GPU, procese, temperaturi Servere cu NVIDIA, AI/ML/docker, encoding Nu merge cu AMD, nu merge fără driver
radeontop Hacker-ul AMD, puțin hipster, merge pe bicicletă Monitorizare placă AMD, usage, memorie, procese Servere cu AMD, gaming, encoding, mining Nu merge cu NVIDIA, mai puține detalii avansate
nvidia-smi Contabilul rigid, nu zâmbește niciodată Output tabelar, status driver, info detaliat Scripturi, debugging, logare Nu are interfață live, nu e user-friendly
gpustat Barista hipster, îți servește info rapid Output scurt, summary per GPU Scripturi, cron, monitorizare rapidă Nu are interfață live, nu arată procese detaliat

Mini Glosar (Real-Talk)

  • GPU: Placa video. „Motorul turbo” al serverului, bun la calcule grele (AI, video, gaming).
  • Usage: Cât din puterea GPU-ului e folosită (%). 0% = stă degeaba, 100% = full throttle.
  • Memorie VRAM: RAM-ul plăcii video. Dacă e plin, apar crash-uri sau slowdowns.
  • NVML: Nvidia Management Library. API-ul secret prin care tool-urile citesc datele de la NVIDIA.
  • ncurses: Librărie pentru interfețe text grafice (culori, bare, etc.) în terminal.
  • PID: Process ID. Numărul unic al procesului care folosește GPU-ul.

Mituri, greșeli și arbore de decizie

Mituri comune:

  • „Dacă rulez jobul pe un server cu GPU, sigur folosește GPU-ul” — FALS. Trebuie să verifici cu nvtop/radeontop sau nvidia-smi dacă chiar merge pe GPU.
  • „Doar GUI-urile mari arată info despre GPU” — FALS. Poți vedea TOTUL în terminal, fără overhead.
  • „Nu există tool-uri pentru AMD” — FALS. radeontop e chiar foarte bun, plus alte mici utilitare.

Greșeli de începător:

  • Nu instalezi driverul corect (sau uiți să dai reboot).
  • Rulezi container fără --gpus all la docker și te miri că nu vezi GPU-ul.
  • Nu verifici dacă userul are acces la device-ul GPU (/dev/nvidia* sau /dev/dri*).

Arbore de decizie: „Ce tool să folosesc?”

Ai placă NVIDIA? 
  ⬇️ DA → Folosește nvtop!
    ⬇️ Vrei și output scriptabil? → Folosește nvidia-smi sau gpustat.
  ⬇️ NU → Ai placă AMD?
    ⬇️ DA → Folosește radeontop!
    ⬇️ NU → Nu merge cu aceste tool-uri. Încearcă intel_gpu_top (pentru Intel), sau caută suport hardware.

Linkuri oficiale:
nvtop pe GitHub |
radeontop pe GitHub

Statistici, fapte și utilizări neconvenționale

  • nvtop suportă multi-GPU din 2019. Poți vedea 8+ plăci simultan (dacă ai norocul sau bugetul necesar).
  • radeontop merge inclusiv pe plăci vechi, perfect pentru mining rigs reciclate.
  • Pentru automation: poți integra output-ul nvtop/radeontop în Prometheus/Grafana cu mici scripturi.
  • Unii admini rulează nvtop direct în tmux/screen pe servere remote, ca să poată verifica rapid statusul GPU-ului de oriunde.
  • Poți seta notificări automate dacă GPU-ul stă idle prea mult (sau, invers, dacă e la 100% de prea mult timp).

Scripturi utile pentru automații și monitorizare

Script simplu pentru monitorizare și alertare (NVIDIA):


#!/bin/bash
USAGE=$(nvidia-smi --query-gpu=utilization.gpu --format=csv,noheader,nounits | head -n1)
if [ "$USAGE" -lt 10 ]; then
echo "GPU stă degeaba! Poți trimite un job nou."
fi

Script pentru logging la fiecare 5 secunde (AMD):


while true; do
radeontop -d /tmp/radeon.log -l 1
sleep 5
done

Integrare cu Prometheus (output custom):


nvidia-smi --query-gpu=utilization.gpu,memory.used --format=csv,noheader,nounits | awk -F, '{print "gpu_usage "$1"\nmemory_used "$2}'

Poveste scurtă de admin (fictionalizată)

Alex, sysadmin la un startup de AI, primește un call la 2 noaptea: „Modelul nostru nu se antrenează, serverul e pe idle!”. Intră pe SSH, rulează nvtop, vede că GPU-ul stă la 1%. Verifică docker run: uitaseră să pună --gpus all. Adaugă flag-ul, repornește jobul, GPU-ul sare la 97%. Modelul merge, echipa e salvată, Alex devine erou. Morală: Fără monitorizare, ești orb pe GPU!

Concluzie & recomandări finale

  • nvtop și radeontop sunt must-have pentru orice admin, devops, developer sau entuziast care folosește GPU pe server.
  • Sunt rapide, ușor de instalat, nu cer GUI, perfecte pentru cloud, VPS, bare-metal sau server dedicat.
  • Folosindu-le, poți preveni downtime, optimizezi costurile, distribui workload-urile mai bine și eviți surprizele neplăcute.
  • Nu uita: monitorizarea live e secretul unei infrastructuri solide și eficiente.
  • Dacă ai nevoie de infrastructură cu GPU gata de muncă, vezi ofertele de VPS sau server dedicat cu suport GPU.

Spor la monitorizat și la optimizat! Dacă ai întrebări geeky sau vrei să împărtășești tips & tricks, lasă un comentariu sau share-uiește articolul cu colegii tăi din DevOps.

Leave a reply

Your email address will not be published. Required fields are marked