288 votes

Comment obtenir les informations sur le GPU ?

Je cherche une commande qui me donnerait les mêmes informations que :

cat /proc/cpuinfo 

Sauf pour le GPU (type de puce et de mémoire, fréquence).

25voto

Quanlong Points 401

Pour les cartes Nvidia, tapez

nvidia-smi -q

16voto

clinfo

sudo apt-get install clinfo
clinfo

est l'analogue de glxinfo mais pour OpenCL, la configuration de mon GPU est décrite à l'adresse suivante : https://stackoverflow.com/questions/7542808/how-to-compile-opencl-on-ubuntu/33483311#33483311

Ubuntu 20.04 Paramètres -> À propos

Vous pouvez soit ouvrir les paramètres en cliquant sur le menu en haut à droite, ou vous pouvez simplement faire :

  • Super clé (alias clé Windows)
  • Tapez "about" et sélectionnez l'entrée

Sous "Graphics", je peux voir que mon modèle de GPU est "Quadro M1200/PCIe/SSE2".

enter image description here

nvidia-settings

Mélange de temps d'exécution et d'informations statiques.

enter image description here

Plus de détails : Comment puis-je vérifier si Ubuntu utilise ma carte graphique NVIDIA ?

10voto

HaoZeke Points 339

Je crois que la meilleure option pour cela est neofetch .

# Get neofetch
sudo add-apt-repository ppa:dawidd0811/neofetch
sudo apt update
sudo apt install neofetch
# Run neofetch
neofetch

Cela donne un résultat comme celui-ci :

10voto

Elder Geek Points 34144

Ce n'est vraiment pas si complexe Pour le modèle et la mémoire, voici une ligne 1 qui fonctionne pour toutes les cartes vidéo sur lesquelles je l'ai testée, quel que soit le fabricant (Intel, AMD, NVIDIA) :

GPU=$(lspci | grep VGA | cut -d ":" -f3);RAM=$(cardid=$(lspci | grep VGA |cut -d " " -f1);lspci -v -s $cardid | grep " prefetchable"| cut -d "=" -f2);echo $GPU $RAM

GPU= Tout ce que fait ce bit est de récupérer le 3ème champ de la sortie de 'lspci' filtré via 'grep' pour VGA qui correspond à la puce vidéo.

RAM= Tout ce que fait ce bit est de mettre la variable cardid égal au premier champ de sortie de lspci correspondant à "VGA" et l'utilise comme une demande de -v la sortie verbeuse de lspci pour cet aspect spécifique -s dispositif, filtrant en outre la sortie par grep pour la chaîne " prefetchable " car elle contient la mémoire de la carte elle-même (notez l'espace précédent car nous ne voulons pas faire correspondre " non-prefetchable " dans notre sortie.

Pour la fréquence d'horloge sur les graphiques intégrés Intel (Testé sur I3 et I5)

exécuter la commande sudo find /sys -type f -name gt_cur* -print0 | xargs -0 cat Ceci plonge dans l'arbre /sys pour localiser le gt_cur_freq_mhz. qui sur mon I3 est /sys/devices/pci0000:00/0000:00:02.0/drm/card0/gt_cur_freq_mhz et imprime le contenu, ce qui, dans mon cas, sous une charge extrêmement légère, revient à 350 comme dans 350 MHz qui correspond à la fréquence minimale trouvée dans /sys/devices/pci0000:00/0000:00:02.0/drm/card0/gt_min_freq_mhz et lors de l'exécution glxgears y glmark2 résulte en 1050 comme dans 1050 MHz qui correspond à la fréquence maximale trouvée dans /sys/devices/pci0000:00/0000:00:02.0/drm/card0/gt_max_freq_mhz

Pour les fréquences d'horloge des cartes nvidia :

nvidia-smi -stats -d procClk correspond à l'horloge du GPU nvidia-smi -stats -d memClk correspond à l'horloge de la mémoire.

Note : Je ne suis pas en mesure de tester ce qui précède car ma fidèle GeForce 210 n'est pas supportée et cela ne fonctionne que sur les GPU Kepler ou plus récents comme l'indiquent les éléments suivants `nvidia-smi -stats --help' (en anglais)

Je n'ai actuellement aucune solution pour la fréquence d'horloge des cartes AMD et je ne dispose pas du matériel nécessaire pour effectuer des tests. Je dirai toutefois qu'à ma connaissance, la carte aticonfig mentionné dans la réponse acceptée n'existe plus et il semble que nvclock n'est pas disponible pour tout ce qui est depuis trusty.

8voto

WinEunuuchs2Unix Points 91128

Écran d'éclaboussure Conky ou Terminal

J'utilise deux méthodes pour afficher automatiquement les informations relatives aux GPU nVidia et aux iGPU Intel :

  • Conky affiche dynamiquement et en temps réel les informations relatives au GPU.
  • ~/.bashrc affiche les informations du GPU à chaque ouverture du terminal

Affichage en temps réel Conky

Cet exemple utilise Conky pour afficher les statistiques actuelles du GPU (nVidia ou Intel) en temps réel. Conky est un moniteur système léger, populaire auprès de nombreux amateurs de Linux.

L'affichage change selon que vous avez démarré après prime-select intel o prime-select nvidia .

Intel iGPU

gpu temp intel.gif

  • L'Intel iGPU se présente comme Skylake GT2 HD 530 iGPU avec la fréquence actuelle
  • La fréquence minimale est de 350 MHz et le maximum est 1050 MHz

GPU nVidia

gpu temp nvidia.gif

  • Le GPU nVidia s'affiche comme suit GeForce GTX970M avec la fréquence actuelle du GPU et la température
  • La version du pilote, le P-State et la version du BIOS sont affichés.
  • La charge du GPU, l'utilisation de la RAM, la consommation d'énergie et la fréquence de la RAM sont affichées.

Code Conky

Voici le script Conky correspondant pour Intel iGPU et nVidia GPU :

#------------+
# Intel iGPU |
#------------+
${color orange}${hr 1}${if_match "intel" == "${execpi 99999 prime-select query}"}
${color2}${voffset 5}Intel® Skylake GT2 HD 530 iGPU @${alignr}${color green}${execpi .001 (cat /sys/class/drm/card1/gt_cur_freq_mhz)} MHz
${color}${goto 13}Min. Freq:${goto 120}${color green}${execpi .001 (cat /sys/class/drm/card1/gt_min_freq_mhz)} MHz${color}${goto 210}Max. Freq:${alignr}${color green}${execpi .001 (cat /sys/class/drm/card1/gt_max_freq_mhz)} MHz
${color orange}${hr 1}${else}
#------------+
# Nvidia GPU |
#------------+
${color2}${voffset 5}${execpi .001 (nvidia-smi --query-gpu=gpu_name --format=csv,noheader)} ${color1}@ ${color green}${execpi .001 (nvidia-smi --query-gpu=clocks.sm --format=csv,noheader)} ${alignr}${color1}Temp: ${color green}${execpi .001 (nvidia-smi --query-gpu=temperature.gpu --format=csv,noheader)}°C
${color1}${voffset 5}Ver: ${color green}${execpi .001 (nvidia-smi --query-gpu=driver_version --format=csv,noheader)} ${color1} P-State: ${color green}${execpi .001 (nvidia-smi --query-gpu=pstate --format=csv,noheader)} ${alignr}${color1}BIOS: ${color green}${execpi .001 (nvidia-smi --query-gpu=vbios_version --format=csv,noheader)}
${color1}${voffset 5}GPU:${color green}${execpi .001 (nvidia-smi --query-gpu=utilization.gpu --format=csv,noheader)} ${color1}Ram:${color green}${execpi .001 (nvidia-smi --query-gpu=utilization.memory --format=csv,noheader)} ${color1}Pwr:${color green}${execpi .001 (nvidia-smi --query-gpu=power.draw --format=csv,noheader)} ${alignr}${color1}Freq: ${color green}${execpi .001 (nvidia-smi --query-gpu=clocks.mem --format=csv,noheader)}
${color orange}${hr 1}${endif}

~/.bashrc Écran d'accueil du terminal

Cet exemple modifie ~/.bashrc pour afficher des informations sur un écran de démarrage chaque fois que le terminal est ouvert ou chaque fois que vous tapez . .bashrc à l'invite Shell.

En plus de neofetch répondu précédemment, il y a screenfetch ce qui est beaucoup plus joli (IMO). De plus, une autre réponse mentionne qu'il ne sait pas comment faire pour que l'iGPU soit listé et ceci le fait :

ubuntu terminal splash.png

Pour plus de détails sur la configuration, voir : Écran d'accueil du terminal avec Météo, Calendrier, Heure et Sysinfo ?

En résumé, juste pour la section inférieure avec l'affichage d'Ubuntu contenant des informations sur le GPU (avant-dernière ligne) utiliser :

sudo apt install screenfetch
screenfetch

Vous voudrez mettre le screenfetch au bas de votre ~/.bashrc pour qu'il apparaisse à chaque fois que vous ouvrez le terminal.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X