¿Cómo obtener la información de la GPU?

Estoy buscando un comando que me dé la misma información que:

cat /proc/cpuinfo 

Excepto la GPU (tipo de chip y memoria, frecuencia).

No conozco un equivalente directo, pero lshw si le da la información que desea, intente:

sudo lshw -C display

(también funciona sin sudo pero la información puede ser menos completa/precisa)

También puede instalar el paquete lshw-gtk para obtener una GUI.

Ese tipo de información no es estándar, y las herramientas que utilizará para recopilarla varían ampliamente.

Comando glxinfo le dará toda la información disponible de OpenGL para el procesador de gráficos, incluido el nombre de su proveedor, si los controladores están instalados correctamente.

Para obtener información sobre la velocidad del reloj, no existe una herramienta estándar.

  • Para GPU ATI / AMD que ejecutan el controlador Catalyst anterior, aticonfig --odgc debería obtener las frecuencias de reloj, y aticonfig --odgt debería obtener los datos de temperatura. No estoy familiarizado con AMDGPU-Pro, pero debería existir una herramienta similar.
  • Para las GPU NVIDIA, el nvidia-smi la herramienta mostrará toda la información que pueda desear, incluidas las velocidades de reloj y las estadísticas de uso.

No conozco una herramienta equivalente para los controladores de código abierto o para Intel u otras GPU, pero se puede obtener otra información sobre el hardware del lspci y lshw herramienta.

Una publicación de blog que se centra en el trabajo realizado en la línea de comandos está aquí:

http://www.cyberciti.biz/faq/howto-find-linux-vga-video-card-ram/

Averiguar el ID del dispositivo:

 lspci | grep ' VGA ' | cut -d" " -f 103:00.0

A continuación, puede utilizar esta salida con lspci de nuevo, formando dos comandos anidados

lspci  -v -s  $(lspci | grep ' VGA ' | cut -d" " -f 1)

Si tienes más de 1 tarjeta GPU, prueba este comando equivalente:

lspci | grep ' VGA ' | cut -d" " -f 1 | xargs -i lspci -v -s {}

Salida de mi sistema:

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

EDITAR: Puedes evitar el <access denied> al lanzarse con sudo

Tan, (prefetchable) [size=64M) indica que tengo una tarjeta NVIDIA de 64 MB. Sin embargo, no lo hago, son más bien 256 MB. ¿Por qué? Ver más abajo.

Para ver cómo obtener la mayor cantidad de información y rendimiento, lea un artículo extremadamente completo en la Wiki de Arch-Linux

https://wiki.archlinux.org/index.php/NVIDIA

Para usuarios de nvidia, comience con

nvidia-smi

(Esto funciona con los controladores Nvidia instalados, pero no con los sistemas que ejecutan el controlador 'nouveau'de código abierto).

Salida

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                                               |+-----------------------------------------------------------------------------+

Esto indica que tengo una tarjeta gráfica GDDR3 de 256 MB.

En este momento, no estoy seguro de cómo obtener esto para las GPU Intel y AMD/ATI.

Ejecutar google-chrome y vaya a la URL about:gpu.Si Chrome ha descubierto cómo usar OpenGL, obtendrá información extremadamente detallada sobre su GPU.

Porque especificaste un comando como cat por lo tanto, para las CPU, este es el equivalente para las GPU, específicamente para las tarjetas Nvidia. No requiere software, excepto el controlador de dispositivo Nvidia para cargarse.

El camino aquí funciona para las cartas que tengo. Pero el suyo puede diferir como otros han señalado en los comentarios.

1ra GPU

> cat /proc/driver/nvidia/gpus/0/informationModel:       GeForce GTX 680IRQ:         24GPU UUID:    GPU-71541068-cded-8a1b-1d7e-a093a09e9842Video BIOS:      80.04.09.00.01Bus Type:    PCIeDMA Size:    40 bitsDMA Mask:    0xffffffffffBus Location:    0000:01.00.0

2da GPU

> cat /proc/driver/nvidia/gpus/1/informationModel:       GeForce GTX 580IRQ:         33GPU UUID:    GPU-64b1235c-51fc-d6f1-0f0e-fa70320f7a47Video BIOS:      70.10.20.00.01Bus Type:    PCIeDMA Size:    40 bitsDMA Mask:    0xffffffffffBus Location:    0000:08.00.0

Para tarjetas Nvidia, escriba

nvidia-smi -q

clinfo

sudo apt-get install clinfoclinfo

es el análogo de glxinfo pero para OpenCL, la configuración de mi GPU se describe en: https://stackoverflow.com/questions/7542808/how-to-compile-opencl-on-ubuntu/33483311#33483311

Configuración de Ubuntu 20.04- & gt; Acerca de

Puede abrir configuración haciendo clic en el menú superior derecho, o simplemente puede hacer:

  • Superclave (también conocida como clave de Windows)
  • Escriba "Acerca de" y seleccione la entrada

Entonces, en"Gráficos ", puedo ver que mi modelo de GPU es"Quadro M1200/PCIe/SSE2 & quot;.

enter image description here

nvidia-configuración

Mezcla el tiempo de ejecución con información estática.

enter image description here

Más detalles: ¿Cómo verifico si Ubuntu está usando mi tarjeta gráfica NVIDIA?

Creo que la mejor opción para esto es neofetch.

# Get neofetchsudo add-apt-repository ppa:dawidd0811/neofetchsudo apt updatesudo apt install neofetch# Run neofetchneofetch

Esto da una salida como esta:

Esto realmente no es tan complejo para el modelo y la memoria, aquí hay un revestimiento 1 que funciona para todas las tarjetas de video en las que lo he probado, independientemente del fabricante (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= Todo lo que hace este bit es tomar el tercer campo de la salida 'lspci' filtrada a través de 'grep' para VGA, que corresponde al chip de video.

RAM= Todo lo que hace este bit es establecer variable cardid igual al primer campo de salida de lspci coincide con " VGA " y lo alimenta como una solicitud de -v salida detallada de lspci para ese específico -s dispositivo, filtrando adicionalmente la salida por grep para la cadena "prefetchable", ya que contiene la memoria de la tarjeta en sí (tenga en cuenta el espacio anterior, ya que no queremos que coincida con "non-prefetchable" en nuestra salida.

Para frecuencia de reloj en gráficos integrados Intel (probados en I3 e I5)

ejecute el comando sudo find /sys -type f -name gt_cur* -print0 | xargs -0 catEsto se sumerge en el árbol / sys para localizar el archivo gt_cur_freq_mhz que en mi I3 es /sys/devices/pci0000:00/0000:00:02.0/drm/card0/gt_cur_freq_mhz e imprime el contenido. que en mi caso bajo carga extremadamente ligera es 350 como en 350 MHz, que corresponde a la frecuencia mínima que se encuentra en /sys/devices/pci0000:00/0000:00:02.0/drm/card0/gt_min_freq_mhz y al correr glxgears y glmark2 resultados en 1050 como en 1050 MHz, que corresponde a la frecuencia máxima encontrada en /sys/devices/pci0000:00/0000:00:02.0/drm/card0/gt_max_freq_mhz

Para velocidades de reloj en tarjetas nvidia:

nvidia-smi -stats -d procClk corresponde al reloj de la GPUnvidia-smi -stats -d memClk corresponde al reloj de memoria.

Nota: No puedo probar lo anterior ya que mi confiable GeForce 210 no es compatible y esto solo funciona en Kepler o GPU más nuevas, como lo indica 'nvidia-smi-stats help help'

Actualmente no tengo ninguna solución para la velocidad de reloj en las tarjetas AMD y no tengo el hardware disponible para probar. Sin embargo, diré que, a mi leal saber y entender, la aticonfig mencionado en la respuesta aceptada ya no existe y parece que nvclock no está disponible para nada desde Trusty.

Pantalla de bienvenida de Conky o Terminal

Utilizo dos métodos para mostrar automáticamente la información de la GPU nVidia y la iGPU Intel:

  • Conky muestra dinámicamente la información de la GPU en tiempo real
  • ~/.bashrc muestra la información de la GPU cada vez que se abre el terminal

Pantalla en tiempo real Conky

Este ejemplo utiliza Conky para mostrar las estadísticas actuales de la GPU (nVidia o Intel) en tiempo real. Conky es un monitor de sistema liviano popular entre muchos entusiastas de Linux.

La pantalla cambia dependiendo de si arrancó después de prime-select intel o prime-select nvidia.

IGPU Intel

gpu temp intel.gif

  • La iGPU de Intel se muestra como Skylake GT2 HD 530 iGPU con frecuencia actual
  • La frecuencia mínima es 350 MHz y el máximo es 1050 MHz

GPU DE nVidia

gpu temp nvidia.gif

  • La GPU nVidia se muestra como GeForce GTX970M con la frecuencia y la temperatura actuales de la GPU
  • Se muestran la versión del controlador, el Estado P y la versión del BIOS
  • Se muestra la carga de la GPU, el uso de la RAM, el Consumo de energía y la frecuencia de la RAM

Código Conky

Aquí está el script Conky relevante para Intel iGPU y 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 Pantalla de bienvenida de terminal

Este ejemplo modifica ~/.bashrc para mostrar información en una pantalla de bienvenida cada vez que se abre el terminal o cada vez que escribe . .bashrc en el indicador de shell.

Además de neofetch respondido anteriormente, hay screenfetch lo que se ve mucho mejor (OMI). Además, otra respuesta menciona que no sabe cómo incluir iGPU en la lista y esto lo hace:

ubuntu terminal splash.png

Para obtener detalles sobre la configuración, consulte: Pantalla de bienvenida de terminal con Clima, Calendario, Hora e Información del sistema?

En resumen, solo para la sección inferior con la pantalla de Ubuntu que contiene información de la GPU (segunda última línea), use:

sudo apt install screenfetchscreenfetch

Usted querrá poner el screenfetch comando en la parte inferior de su ~/.bashrc archivo para que aparezca cada vez que abras la terminal.

@CharlieParker genera información de la CPU…

¿qué hace: ‘cat / proc` cpuinfo’? ¿qué información estás buscando?