Je cherche une commande qui me donnerait les mêmes informations que:
cat /proc/cpuinfo
Sauf pour le GPU (type de la puce et de la mémoire, fréquence).
Ce type d'informations est non standard et les outils que vous utiliserez pour les collecter varient considérablement.
La commande glxinfo
vous donnera toutes les informations OpenGL disponibles pour le processeur graphique, y compris son nom de fournisseur, si les pilotes sont correctement installés.
Pour obtenir des informations sur la vitesse d'horloge, il n'y a pas d'outil standard.
aticonfig --odgc
récupère les fréquences d'horloge et aticonfig --odgt
récupère les données de température.nvclock
extraira les mêmes informations.Je ne connais pas d'outil équivalent pour les pilotes Open Source, Intel ou autres GPU.
D'autres informations sur le matériel peuvent être extraites des outils lspci
et lshw
.
Je ne connais pas d'équivalent direct, mais lshw devrait vous donner les informations souhaitées, essayez:
Sudo lshw -C display
(cela fonctionne aussi sans Sudo
mais les informations peuvent être moins complètes/précises)
Vous pouvez également installer le package lshw-gtk
pour obtenir une interface graphique.
Un article de blog mettant l'accent sur le travail effectué sur la ligne de commande est ici:
http://www.cyberciti.biz/faq/howto-find-linux-vga-video-card-ram/
Découvrez l'ID de l'appareil:
lspci | grep ' VGA ' | cut -d" " -f 1
03:00.0
Vous pouvez ensuite utiliser à nouveau cette sortie avec lspci
, en formant deux commandes imbriquées
lspci -v -s $(lspci | grep ' VGA ' | cut -d" " -f 1)
Si vous avez plus d'une carte GPU, essayez plutôt cette commande équivalente:
lspci | grep ' VGA ' | cut -d" " -f 1 | xargs -i lspci -v -s {}
Sortie de mon système:
03:00.0 VGA compatible controller: NVIDIA Corporation G98 [Quadro NVS 295] (rev a1) (prog-if 00 [VGA controller])
Subsystem: NVIDIA Corporation Device 062e
Flags: bus master, fast devsel, latency 0, IRQ 24
Memory at f6000000 (32-bit, non-prefetchable) [size=16M]
Memory at ec000000 (64-bit, prefetchable) [size=64M]
Memory at f4000000 (64-bit, non-prefetchable) [size=32M]
I/O ports at dc80 [size=128]
[virtual] Expansion ROM at f7e00000 [disabled] [size=128K]
Capabilities: <access denied>
Kernel driver in use: nvidia
EDIT: vous pouvez éviter le <access denied>
en lançant avec Sudo
Donc, (prefetchable) [size=64M)
indique que j'ai une carte NVIDIA de 64 Mo. Cependant, je ne le fais pas, c'est plutôt 256 Mo. Pourquoi? voir ci-dessous.
Pour savoir comment obtenir le maximum d'informations et de performances, lisez un article extrêmement complet sur le wiki Arch-Linux.
https://wiki.archlinux.org/index.php/NVIDIA
Pour les utilisateurs de nvidia, commencez par
nvidia-smi
(Cela fonctionne avec les pilotes Nvidia installés, mais pas avec les systèmes exécutant le pilote open source "nouveau").
Sortie
Thu Dec 19 10:54:18 2013
+------------------------------------------------------+
| NVIDIA-SMI 5.319.60 Driver Version: 319.60 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 Quadro NVS 295 Off | 0000:03:00.0 N/A | N/A |
| N/A 73C N/A N/A / N/A | 252MB / 255MB | N/A Default |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Compute processes: GPU Memory |
| GPU PID Process name Usage |
|=============================================================================|
| 0 Not Supported |
+-----------------------------------------------------------------------------+
Cela indique que j'ai une carte graphique GDDR3 de 256 Mo.
Pour le moment, je ne sais pas comment obtenir cela avec les GPU Intel et AMD/ATI.
Exécutez google-chrome
et accédez à l'URL about:gpu
. Si chrome a compris comment utiliser OpenGL, vous obtiendrez des informations extrêmement détaillées sur votre GPU.
Pour les cartes Nvidia.
1er GPU
> cat /proc/driver/nvidia/gpus/0/information
Model: GeForce GTX 680
IRQ: 24
GPU UUID: GPU-71541068-cded-8a1b-1d7e-a093a09e9842
Video BIOS: 80.04.09.00.01
Bus Type: PCIe
DMA Size: 40 bits
DMA Mask: 0xffffffffff
Bus Location: 0000:01.00.0
2ème GPU
> cat /proc/driver/nvidia/gpus/1/information
Model: GeForce GTX 580
IRQ: 33
GPU UUID: GPU-64b1235c-51fc-d6f1-0f0e-fa70320f7a47
Video BIOS: 70.10.20.00.01
Bus Type: PCIe
DMA Size: 40 bits
DMA Mask: 0xffffffffff
Bus Location: 0000:08.00.0
clinfo
Sudo apt-get install clinfo
clinfo
est l'analogue de glxinfo
mais pour OpenCL.
nvidia-settings
Mélange l'exécution avec des informations statiques.
Plus de détails: Comment puis-je vérifier si Ubuntu utilise ma carte graphique NVIDIA?
Pour les cartes Nvidia, tapez
nvidia-smi -q
Je crois que la meilleure option pour cela est neofetch .
# Get neofetch
Sudo add-apt-repository ppa:dawidd0811/neofetch
Sudo apt update
Sudo apt get neofetch
# Run neofetch
neofetch
Cela donne une sortie comme celle-ci:
J'utilise deux méthodes pour afficher automatiquement les informations du processeur graphique nVidia et des informations Intel iGPU:
~/.bashrc
affiche les informations du processeur graphique à chaque ouverture du terminalCet exemple utilise Conky pour afficher les statistiques actuelles du processeur graphique (nVidia ou Intel) en temps réel. Conky est un moniteur système léger populaire auprès de nombreux passionnés de Linux.
L'affichage change selon que vous avez démarré après prime-select intel
ou prime-select nvidia
.
Skylake GT2 HD 530 iGPU
avec la fréquence actuelle350
MHz et la fréquence maximale est 1050
MHz.GeForce GTX970M
avec la fréquence et la température actuelles du GPU.Voici le script Conky pertinent 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 de démarrage du terminalCet 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 du shell.
En plus de neofetch
auquel on a répondu précédemment, il existe screenfetch
qui semble beaucoup plus joli (IMO). De plus, une autre réponse indique qu’il ne sait pas comment obtenir la liste iGPU et que cela se fait:
Pour plus de détails sur la configuration, voir: écran de démarrage du terminal avec météo, calendrier, heure et infos système?
En résumé, pour la partie inférieure avec l’affichage Ubuntu contenant les informations GPU (avant-dernière ligne), utilisez:
Sudo apt install screenfetch
screenfetch
Vous voudrez mettre la commande screenfetch
au bas de votre fichier ~/.bashrc
pour qu'il apparaisse à chaque fois que vous ouvrez le terminal.
Juste pour trouver les bases, selon https://wiki.debian.org/NvidiaGraphicsDrivers#NVIDIA_Proprietary_Driver ,
lspci | grep VGA
Si vous avez besoin de plus de détails, consultez @ knb's answer à la même question.
Pour le modèle et la mémoire, voici une solution qui fonctionne pour toutes les cartes vidéo sur lesquelles j'ai testé le test, 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 bit ne saisit que le 3ème champ de la sortie 'lspci' filtrée via 'grep' pour VGA qui correspond à la puce vidéo.
RAM = Tout ce bit ne définit pas la variable cardid
égale au premier champ de sortie de lspci
correspondant à "VGA" et la transmet comme une demande de -v
sortie détaillée de lspci
pour ce périphérique -s
spécifique, filtrage ultérieur la sortie par grep
pour la chaîne "prefetchable" car elle contient la mémoire sur 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 cartes graphiques intégrées Intel (testé sur I3 et I5)
exécuter la commande Sudo find /sys -type f -name gt_cur* -print0 | xargs -0 cat
Ceci permet de plonger dans l’arborescence/sys pour localiser le fichier gt_cur_freq_mhz qui, sur mon I3, est /sys/devices/pci0000:00/0000:00:02.0/drm/card0/gt_cur_freq_mhz
et affiche le contenu. qui dans mon cas sous une charge extrêmement légère est 350
comme dans 350 MHz ce qui correspond à la fréquence minimale trouvée dans /sys/devices/pci0000:00/0000:00:02.0/drm/card0/gt_min_freq_mhz
et lorsque vous exécutez glxgears
et glmark2
, le résultat est 1050
comme dans 1050 MHz, ce 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 sur les cartes nvidia:
nvidia-smi -stats -d procClk
correspond à l'horloge du GPU nvidia-smi -stats -d memClk
correspond à l'horloge de la mémoire.
Remarque: je ne parviens pas à tester les éléments ci-dessus car mon GeForce 210, très fiable, n'est pas pris en charge et cela ne fonctionne que sur les GPU Kepler ou plus récents, comme indiqué par `nvidia-smi -stats --help '.
Je n'ai actuellement aucune solution pour la fréquence d'horloge sur les cartes AMD et je n'ai pas le matériel disponible pour les tests. Cependant, je dirai qu'au meilleur de ma connaissance, le aticonfig
mentionné dans la réponse acceptée n'existe plus et il apparaît que nvclock
n'est disponible pour rien depuis digne de confiance.
Si vous souhaitez avoir des informations simples, vous pouvez essayer gpustat . C'est très bon et simple.
L'auteur donne les instructions d'installation suivantes:
Installer depuis PyPI:
pip install gpustat
Pour installer la dernière version (branche principale) via pip:
pip install git+https://github.com/wookayin/gpustat.git@master
Si vous ne possédez pas de privilège root, essayez d’installer sur l’espace-noms:
pip install --user
. Notez qu'à partir de la version 0.4,gpustat.py
n'est plus un exécutable dépendant de zéro. Cependant, dans de rares cas, vous aurez besoin d'un seul script exécutable (hérité), vous pouvez également essayer:wget https://raw.githubusercontent.com/wookayin/gpustat/v0.3.2/gpustat.py -O ~/.local/bin/gpustat chmod +x ~/.local/bin/gpustat # Assuming ~/.local/bin is in your $PATH
Si vous exécutez Ubuntu sur un Chromebook avec crouton, la seule des réponses qui fonctionneront ira à chrome://gpu
dans le navigateur Chrome.
Pour le processeur Intel GMA950 (livré avec EeePC en particulier), vous pouvez exécuter:
setpci -s 00:02.0 f0.b
qui retournera "00" pour 200 MHz, "01" pour 250 MHz ou "03" pour 400 MHz. Vous pourrez peut-être appliquer le même principe à d'autres cartes Intel.
Pour les GPU nvidia, la commande nvidia-smi
est votre ami. Voir man nvidia-smi
si vous le souhaitez.
Pour lister les GPU, utilisez nvidia-smi -L
(nvidia-smi --list-gpus
), nvidia-smi -q
donnez des informations sur le gpu et les processus en cours.
Si vous avez une carte AMD Radeon, vous pouvez exécuter les commandes suivantes
Sudo update-pciids #optional command, requires internet
lspci -nn | grep -E 'VGA|Display'
Il devrait signaler quelque chose comme ça
00:01.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Wani [Radeon R5/R6/R7 Graphics] [1002:9874] (rev c5)
03:00.0 Display controller [0380]: Advanced Micro Devices, Inc. [AMD/ATI] Sun XT [Radeon HD 8670A/8670M/8690M / R5 M330 / M430 / R7 M520] [1002:6660] (rev ff)
Eh bien, cette réponse suppose que vous avez un serveur doté de NVIDIA-GPU. Vous avez trois façons:
Pour avoir juste un petit résumé: nvidia-smi
Pour en obtenir un détaillé: nvidia-smi -q
. Vous obtiendrez plusieurs écrans d'informations détaillées si vous avez plus de 1 gpu.
Faites un ls /proc/driver/nvidia/gpus/
. Il affichera l'emplacement du bus GPU sous forme de dossiers. Maintenant, exécutez la commande suivante pour chacun des emplacements de bus GPU. Remplissez <gpu-id>
avec l'emplacement du bus: cat /proc/driver/nvidia/gpus/<gpu_id>/information
Pour obtenir toutes les informations sur le processeur graphique, vous pouvez utiliser la commande suivante telle que spécifiée par @greyfade.
> glxinfo
Cependant, si le programme glxinfo
n'est actuellement pas installé, vous pouvez l'installer en tapant:
> Sudo apt install mesa-utils
Vous devrez également activer le composant appelé universe
. Une fois que cela est fait, glxinfo
listera toutes les spécifications relatives au processeur graphique dans cet environnement.
Utilisez lspci
name__, lspci -v
pour obtenir des informations de base voir ici .
Dans mon cas, par exemple, une fois que je lance lspci
et que j'ai:
dina@dina-X450LA:~$ lspci
00:02.0 VGA compatible controller: Intel Corporation Haswell-ULT Integrated Graphics Controller (rev 0b)
00:03.0 Audio device: Intel Corporation Haswell-ULT HD Audio Controller (rev 0b)
00:14.0 USB controller: Intel Corporation 8 Series USB xHCI HC (rev 04)
00:16.0 Communication controller: Intel Corporation 8 Series HECI #0 (rev 04)
00:1b.0 Audio device: Intel Corporation 8 Series HD Audio Controller (rev 04)
00:1c.0 PCI bridge: Intel Corporation 8 Series PCI Express Root Port 1 (rev e4)
00:1c.2 PCI bridge: Intel Corporation 8 Series PCI Express Root Port 3 (rev e4)
00:1c.3 PCI bridge: Intel Corporation 8 Series PCI Express Root Port 4 (rev e4)
00:1d.0 USB controller: Intel Corporation 8 Series USB EHCI #1 (rev 04)
00:1f.0 ISA bridge: Intel Corporation 8 Series LPC Controller (rev 04)
00:1f.2 SATA controller: Intel Corporation 8 Series SATA Controller 1 [AHCI mode] (rev 04)
00:1f.3 SMBus: Intel Corporation 8 Series SMBus Controller (rev 04)
02:00.0 Ethernet controller: Qualcomm Atheros QCA8171 Gigabit Ethernet (rev 10)
03:00.0 Network controller: Ralink corp. RT3290 Wireless 802.11n 1T/1R PCIe
03:00.1 Bluetooth: Ralink corp. RT3290 Bluetooth
Si vous ne recherchez que les noms des cartes vidéo sur la machine, utilisez simplement:
$ nvidia-smi --list-gpus
Pour certains nouveaux GPU, cela répertorie également la mémoire de chaque périphérique.