Com optimitzar estadístiques de memòria de Linux amb GPU NVIDIA

Darrera actualització: 19 de gener de 2026
  • La combinació de DCGM, dcgm-exporter i Metricbeat permet monitoritzar en detall memòria, temperatura i rendiment de GPU NVIDIA a Linux.
  • Elastic Observability i Kibana faciliten analitzar i visualitzar mètriques de GPU amb CPU per detectar colls d'ampolla i problemes d'infraestructura.
  • Ajustar auto boost, perfils d'energia i rellotges de GPU és clau per aconseguir rendiment estable i màxim tant a centres de dades com a gaming.
  • A Linux, les GPU NVIDIA de gamma alta ofereixen millor suport i rendiment que AMD, especialment en jocs exigents i càrregues 4K.

Monitorització de memòria a Linux amb GPU NVIDIA

Si treballes amb GPU de NVIDIA a Linux, tard o d'hora necessitaràs entendre què està passant amb la memòria, el rendiment i les estadístiques internes del teu sistema. Ja sigui per a jocs, per a machine learning, per a simulacions científiques o per a un centre de dades, controlar aquestes dades marca la diferència entre un equip que simplement «funciona» i una plataforma realment optimitzada.

Alhora, molts usuaris arriben a Linux amb la idea que tindran més rendiment que a Windows amb el seu GPU NVIDIA , però després es topen amb benchmarks que no sempre mostren el resultat que esperaven. La clau és saber monitoritzar, interpretar i afinar tant el sistema operatiu com la configuració de la GPU, aprofitant eines específiques com DCGM, dcgm-exporter, gpu-monitoring-tools i solucions d'observabilitat com Elastic.

Rendiment de GPU NVIDIA a Linux: expectatives i realitat

Quan algú amb una targeta moderna, per exemple una RTX 4070 o altres GPU de gamma alta , es planteja canviar-se a Linux, és molt comú que investigui en fòrums, Reddit, vídeos de YouTube i tota mena de guies. Durant anys s'ha repetit la idea que Linux sempre rendeix millor que Windows, però la realitat, en mirar benchmarks seriosos i proves comparatives , és força més matisada.

En el terreny dels jocs, Linux ha millorat moltíssim gràcies a Steam, Proton i DXVK , que permeten executar la majoria de títols de Windows en aquesta plataforma. Tot i això, en revisar resultats en jocs exigents, no sempre s'aconsegueix el mateix nivell de FPS que a Windows, especialment quan el joc no té versió nativa i depèn de capes de compatibilitat.

D'altra banda, fora del gaming, les GPU de NVIDIA han esdevingut la base d' infraestructures d'alt rendiment : entrenament de xarxes neuronals, simulacions físiques complexes, renderitzat i càrregues de treball massives a centres de dades. En aquest context, controlar les estadístiques de memòria de Linux i esprémer la GPU de NVIDIA és crucial, i aquí és on un bon sistema de monitorització marca la diferència.

Cal tenir en compte també que, a Linux, el rendiment no depèn només de la GPU en si, sinó de la combinació entre drivers propietaris de NVIDIA, kernel, distribució triada i configuració d'energia i rellotge de la targeta. Si qualsevol d'aquests elements està mal ajustat, els benchmarks poden mostrar resultats decebedors fins i tot amb maquinari molt potent.

Per què és tan important monitoritzar la GPU a Linux

Les GPU NVIDIA ja no són simplement «targetes per jugar»; s'han convertit en una peça central en centres de dades, clouds públiques i entorns de còmput intensiu . En molts desplegaments, la major part de la capacitat de càlcul prové de la GPU més que no pas de la CPU, així que ignorar les seves mètriques de rendiment és, directament, un luxe que no es poden permetre ni empreses ni usuaris avançats.

En aquests escenaris, no n'hi ha prou de saber quanta memòria total tens o quin model de GPU hi ha instal·lat. És essencial poder veure en temps real ús de memòria, càrrega de GPU, temperatura, consum energètic , velocitat dels rellotges i altres comptadors interns que donin pistes sobre colls d'ampolla o problemes d'estabilitat.

A més, Linux és el sistema operatiu dominant en clústers de computació, HPC i plataformes d'IA al núvol , de manera que tota la infraestructura de monitorització sol girar al seu voltant. NVIDIA ofereix el seu propi stack per exposar mètriques, i solucions com Elastic Observability permeten centralitzar aquestes dades, visualitzar-les i generar alertes intel·ligents de forma força flexible.

Si utilitzeu GPU de NVIDIA en proveïdors com Google Cloud, AWS o Genesis Cloud , el monitoratge no només us ajuda a detectar errors; també et serveix per validar que el que estàs pagant al núvol s'està utilitzant de manera eficient, evitant costos innecessaris per instàncies infrautilitzades o mal configurades.

Un altre punt clau és que, a diferència de la CPU, moltes mètriques de GPU no estan tan integrades a les eines clàssiques de Linux. Per això són especialment útils components com NVIDIA Datacenter GPU Manager (DCGM) i els exportadors de mètriques específics que s'integren amb sistemes d'observabilitat moderns.

Dependències bàsiques: drivers NVIDIA, DCGM i eines de monitorització

Per tenir estadístiques de memòria de Linux optimitzades a NVIDIA, el primer pas és comptar amb un entorn ben muntat: drivers correctes, eines de GPU i una solució d'observabilitat que recopili i visualitzi les dades. No serveix de res voler gràfics bonics si el sistema no és capaç d'exposar les mètriques de manera consistent.

  PCI i PCIe: diferències, evolució i ús real al teu PC

A l'entorn de centres de dades, NVIDIA proporciona Datacenter GPU Manager (DCGM) , que actua com a base per recopilar una gran varietat de mètriques: des d'ús de memòria i temperatura fins a informació detallada de rendiment intern. La instal·lació sol basar-se en paquets per a distribucions populars com Ubuntu 18.04 i altres versions compatibles.

Durant el procés de configuració descrit per NVIDIA, és important fixar-se en detalls com ara el paràmetre als repositoris CUDA. Per a sistemes de 64 bits típics, el resultat de l'ordre uname -a mostra que l'arquitectura és x86_64, de manera que les línies que s'afegeixen al sistema de paquets han d'utilitzar aquest valor correctament.

Un exemple típic per afegir el repositori CUDA a una distro basada en Debian/Ubuntu seria una cosa com:
echo "deb http://developer.download.nvidia.com/compute/cuda/repos/$distribution/x86_64 /" | sudo tee /etc/apt/sources.list.d/cuda.list

També convé revisar si la documentació en té algun error tipogràfic a les ordres oficials, com l'ús d'un símbol extra en definir la variable $distribution a la línia on s'importen les claus GPG, que cal corregir abans d'executar:

sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/$distribution/x86_64/7fa2af80.pub

Un cop instal·lats els controladors i DCGM, podem comprovar l'estat bàsic de la GPU amb l'eina estàndard nvidia-smi , que mostra model, memòria total i utilitzada, temperatura i processos que estan fent ús de la targeta en aquell moment.

Instal·lació de gpu-monitoring-tools i dcgm-exporter

Per integrar les estadístiques de memòria de Linux i de GPU NVIDIA amb sistemes externs com Prometheus o Elastic, NVIDIA ofereix gpu-monitoring-tools , que inclouen el component dcgm-exporter. Aquestes utilitats es distribueixen com a codi font a Go, per la qual cosa necessitem tenir Golang instal·lat i correctament configurat al sistema.

En un escenari típic, es descarrega i instal·la Go a /usr/local, extraient el fitxer tar.gz i afegint el binari de Go al PATH. Després, es clona el repositori oficial:
cd /tmp
git clone https://github.com/NVIDIA/gpu-monitoring-tools.git
cd gpu-monitoring-tools/
sudo env "PATH=$PATH:/usr/local/go/bin" make install

El component clau en aquest paquet és dcgm-exporter, que s'encarrega d'exposar les mètriques de DCGM en un format que pot entendre Prometheus. En aixecar-lo, s'inicia un servidor HTTP que, per defecte, escolta en una adreça local com localhost:9090 i ofereix totes les mètriques disponibles.

La configuració de quines estadístiques s'exposaran està definida al fitxer /etc/dcgm-exporter/default-counters.csv , que conté desenes de comptadors predefinits. Entre ells hi ha mètriques relacionades amb memòria de GPU, temperatura, consum denergia i diversos indicadors interns de rendiment . Si necessiteu més granularitat, la documentació de la DCGM Library API detalla el llistat complet de mètriques que es poden habilitar.

En iniciar dcgm-exporter amb una ordre de l'estil:
dcgm-exporter --address localhost:9090
veureu missatges d'inicialització indicant que DCGM s'ha iniciat correctament. És habitual rebre avisos sobre certs mòduls no carregats, com les mètriques DCP, que en aquest context poden ignorar-se sense cap problema si no estan sent utilitzats.

Integració amb Elastic Observability mitjançant Metricbeat

Quan les mètriques de GPU NVIDIA estan exposades via dcgm-exporter, el següent pas lògic és enviar aquestes dades a una plataforma d'observabilitat . Una opció molt potent és Elastic Observability, que aprofita components com Metricbeat per recopilar mètriques i centralitzar-les en un desplegament d'Elastic Cloud o un stack autogestionat.

Per això, primer s'instal·la Metricbeat al sistema Linux on està corrent dcgm-exporter. Es baixa el paquet .deb corresponent a la versió més recent, s'instal·la amb dpkg -i i es configura el fitxer principal /etc/metricbeat/metricbeat.yml perquè apunti al desplegament d'Elastic Cloud mitjançant els paràmetres cloud.id y cloud.auth.

El valor de cloud.id sol tenir una forma codificada que identifica la regió i el desplegament d'Elastic, mentre que cloud.auth combina usuari i contrasenya, per exemple:
cloud.id: "staging:dXMtY2VudHJhbDEuZ2NwLmNsb3VkLmVzLmlvJDM4ODZkYmUwMWNjODQ2NDM4YjRlNzg5OWEyZDAwNGM5JDBiMTc0YzYyMTVlYTQwYWQ5M2NmMGY4MjVhNzJmOGRk"
cloud.auth: "elastic:J7KYiDku2wP7DFr62zV4zL4y"

(òbviament, en un entorn real es faran servir credencials segures pròpies de l'usuari).

Les entrades de Metricbeat són modulars, i en aquest cas necessitem habilitar el mòdul de Prometheus, ja que dcgm-exporter està publicant les seves mètriques seguint aquest format. L'activació es fa amb:
sudo metricbeat modules enable prometheus

Abans de posar-ho tot a funcionar, convé executar algunes proves de configuració per assegurar-se que Metricbeat està ben configurat i es pot connectar a Elastic Cloud ia l'endpoint de Prometheus. Per això s'usen ordres com:
sudo metricbeat test config
sudo metricbeat test output
sudo metricbeat modules list

Si aquests tests fallen, el recomanable és revisar la documentació de solució de problemes de Metricbeat, ja que els errors solen estar relacionats amb credencials incorrectes, endpoints inaccessibles o mòduls no habilitats correctament. Un cop verificat tot, es pot executar:
sudo metricbeat setup
per carregar dashboards per defecte i definir els mapeigs díndexs necessaris.

Finalment, s'inicia Metricbeat en mode de sortida per consola, o com a servei, amb:
sudo metricbeat -e
cosa que farà que les mètriques de GPU exposades per dcgm-exporter comencin a enviar-se contínuament a Elastic, on quedaran emmagatzemades i llistes per ser analitzades.

Visualització de les mètriques de memòria i GPU a Kibana

Quan les dades flueixen cap a Elastic Observability, arriba la part interessant: explorar, filtrar i creuar mètriques de GPU i CPU per entendre de veritat què està passant a la teva infraestructura. Per això s'utilitza principalment Kibana, la interfície web d'anàlisi i visualització d'Elastic.

  Guia Completa sobre la Tecnologia USB4: El Futur de la Connectivitat

El primer pas és assegurar-se que el patró díndex metricbeat-* està correctament configurat a la secció Stack Management > Kibana > Index Patterns. Des d'allà se selecciona aquest patró i es prem Refresh field list perquè Kibana detecti els nous camps relacionats amb les mètriques de GPU.

Les mètriques procedents de dcgm-exporter i recollides pel mòdul de Prometheus solen aparèixer amb un prefix com a prometheus.metrics.DCGM_ . Entre aquests camps s'hi inclouen estadístiques de memòria utilitzada, memòria lliure, percentatge d'ús de GPU, temperatures, consum energètic i altres indicadors rellevants.

Amb aquests camps ja disponibles, es pot utilitzar la vista Discover de Kibana per fer cerques ad hoc , filtrant per host, per nom de GPU o per rang temporal. També és possible construir visualitzacions a la secció de dashboards, mostrant, per exemple, l'evolució de l'ús de memòria de GPU al llarg del dia o comparant diferents instàncies en un mateix gràfic.

Una de les vistes més pràctiques és Metrics Explorer, que permet comparar el rendiment de CPU i GPU a la mateixa pantalla . Això ajuda a detectar patrons on, per exemple, la GPU està al màxim mentre la CPU està infrautilitzada, oa l'inrevés, assenyalant possibles problemes d'equilibri a la càrrega de treball.

A més, la vista d'Inventory permet localitzar punts crítics d'ús de GPU a grans desplegaments , identificant quins nodes estan al límit, quins estan ociosos i on es concentren els colls d'ampolla. A partir d'aquí es poden definir alertes que es disparin quan, per exemple, la memòria de la GPU superi un cert llindar durant un període de temps concret.

Paràmetres clau de monitorització segons NVIDIA

No totes les mètriques tenen la mateixa rellevància a l'hora d'optimitzar un entorn amb GPU de NVIDIA a Linux. Segons les recomanacions del propi fabricant, hi ha alguns paràmetres essencials que convé vigilar de manera contínua per prevenir avaries, detectar degradació de rendiment i afinar el consum energètic.

La temperatura de la GPU és un dels indicadors més evidents. Un increment sostingut per sobre de rangs segurs pot indicar problemes de refrigeració, ventiladors bruts, flux d'aire deficient al xassís o fins i tot un disseny tèrmic insuficient per a la càrrega que se li està exigint a l'equip.

Una altra mètrica fonamental és el consum d'energia de la GPU . Si una targeta comença a consumir més energia del normal per a una mateixa càrrega de treball, podeu assenyalar problemes de maquinari incipients o una configuració denergia massa agressiva. En entorns de gran escala, aquesta dada també és clau per controlar els costos elèctrics i planificar la capacitat de la infraestructura.

Les velocitats actuals dels rellotges (clocks) de la GPU també diuen molt de l'estat del sistema. Si aquests rellotges es mantenen per sota dels valors esperats durant una càrrega pesada, podria ser degut a limitacions de potència, thermal throttling o ajustaments d'energia conservadors que estan frenant el rendiment real disponible.

Per proves d'estrès o validació, NVIDIA ofereix eines com dcgmproftester10, que permeten simular càrregues intensives sobre la GPU i verificar com responen les mètriques. Una ordre típica seria:
dcgmproftester10 --no-dcgm-validation -t 1004 -d 30
que executa un test de rendiment concret durant 30 segons sense certes validacions de DCGM, ideal per comprovar si el sistema es manté estable sota pressió.

Combinant aquestes mètriques amb les capacitats d'alertes d'Elastic, és possible automatitzar recomanacions suggerides per NVIDIA , disparant notificacions quan se superen llindars de temperatura, quan la memòria s'acosta perillosament al 100% d'ús o quan el consum energètic es desmadra notablement davant de les referències habituals.

Optimització de la configuració de GPU NVIDIA a Linux

Més enllà de la monitorització passiva, hi ha una sèrie d'ajustaments que es poden aplicar a Linux per obtenir un rendiment més estable i, en molts casos, superior amb les GPU de NVIDIA. Un dels aspectes més rellevants és la gestió de les funcions d'autoboost i escalat dinàmic de rellotge que porta el mateix driver.

En alguns tipus d'instàncies de GPU, el controlador NVIDIA utilitza una característica d'augment automàtic de potència (auto boost) que ajusta les freqüències de la GPU segons la càrrega i les condicions tèrmiques. Encara que això és útil per a entorns generals, en escenaris on es requereixen màximes prestacions i repetibilitat en els resultats, pot ser preferible desactivar aquestes funcions i fixar manualment les velocitats de rellotge en els valors màxims segurs.

En desactivar l'autoboost i fixar les freqüències màximes, s'aconsegueix que el rendiment sigui molt més uniforme i predictible entre execucions . És especialment important en entorns de benchmarking, validació de maquinari, centres de dades i plataformes d'IA on interessa que la variació entre runs sigui mínima.

  Les millors Distribucions Linux per a Programadors

Un altre punt que cal vigilar és el mode d'energia en què està configurada la GPU. A Linux, a través de les eines de NVIDIA, es poden ajustar perfils de potència que van des de modes més estalviadors fins a modes de màxim rendiment persistent. Seleccionar un perfil massa conservador pot limitar notablement els FPS en jocs o el rendiment en còmput intensiu , encara que a canvi se'n redueixi el consum.

En equips d'usuari, especialment aquells destinats a jugar a Linux amb targetes modernes, és una bona idea revisar que els drivers estiguin al dia i que les opcions de persistence mode, límit de potència i perfil de rellotge estiguin alineades amb l'objectiu de rendiment que es busca. És una àrea on molts benchmarks negatius s'expliquen simplement per una configuració poc optimitzada de fàbrica.

Linux i jocs amb GPU NVIDIA: situació actual

Tot i que encara s'arrossega la fama que Linux no és «la plataforma adequada» per jugar, la realitat és que, amb una bona GPU NVIDIA i l'ecosistema de Steam , és perfectament viable gaudir de molts títols amb una experiència força propera a la de Windows, sobretot si s'aprofiten les APIs gràfiques modernes.

Steam Play, mitjançant Proton i DXVK (un fork específic de Wine) , s'encarrega de traduir les trucades de DirectX a Vulkan, permetent executar una gran quantitat de jocs originalment desenvolupats per a Windows. No sempre s'assoleix el rendiment nadiu exacte, però la pèrdua de FPS sol ser continguda i, en molts casos, acceptable per a la majoria d'usuaris.

En comparatives realitzades amb targetes de generacions anteriors, des de NVIDIA GeForce GTX 980 Ti fins a TITAN RTX i models d'AMD com Radeon RX Vega 56 o Radeon VII, s'ha vist que les GPU de gamma alta de NVIDIA amb nuclis Turing destaquen especialment en resolució 4K sobre Linux quan es tracta de jocs.

Un exemple il·lustratiu el trobem en jocs com Total War: Three Kingdoms , on moltes de les 18 targetes provades poden assolir els desitjats 60 FPS a 4K si es manté un nivell de detall baix. En pujar el detall a mig, només models molt potents com la RTX 2080 Ti o la TITAN RTX són capaços de superar de manera consistent aquesta barrera a Linux.

Altres títols com Counter-Strike: Global Offensive o DOTA 2 mostren un comportament molt més amable: aprofitant l'API Vulkan quan està disponible, pràcticament totes les targetes provades els poden moure sense complicacions a 4K, amb altes taxes de FPS fins i tot en maquinari no tan punter dins del rang analitzat.

En jocs una mica més pesats gràficament com Deus Ex: Mankind Divided o Dawn of War III , torna a quedar palès la necessitat de comptar amb targetes de gamma alta si es pretén jugar a 4K amb detalls alts. En títols com Rise of the Tomb Raider o Total War Saga: Thrones of Britannia , la majoria de GPU poden amb la resolució 4K si s'ajusta el nivell de detall a valors baixos o mitjans, cosa que reforça la idea que NVIDIA porta avantatge en drivers i optimització per a Linux en aquests escenaris davant AMD.

Un aspecte que es repeteix en aquestes proves és que AMD encara té marge de millora en drivers per a Linux orientats a gaming , mentre que NVIDIA ofereix un suport més madur i actualitzacions més consistents. Per als que busquen el millor rendiment possible en jocs d'alta resolució dins de Linux, això continua sent un factor determinant a l'hora de triar GPU.

En conjunt, entendre com es comporten les estadístiques de memòria de Linux i les mètriques de GPU de NVIDIA, combinades amb una bona configuració de drivers i eines de monitoratge, permet treure molt més suc a la targeta, ja sigui en un PC de jocs, un servidor d'IA o un centre de dades amb desenes de nodes treballant a ple rendiment.

Queda clar que controlar de forma detallada la memòria, el rendiment i l'estat de les GPU NVIDIA a Linux ja no és una cosa opcional, sinó una peça clau tant per a entorns de producció com per a usuaris exigents: un bon stack de drivers i DCGM, una capa d'exportació de mètriques amb dcgm-exporter, la recol·lecció amb Metricbeat i la visualització la GPU, són el que realment marca la diferència entre un sistema que simplement compleix i un que esprem al màxim cada watt i cada giga de memòria disponible.