Como obter as informações da GPU?

Estou procurando um comando que me dê as mesmas informações que:

cat /proc/cpuinfo 

Exceto para a GPU (tipo do chip e memória, Frequência).

Eu não sei de um equivalente direto, mas lshw deve dar - lhe as informações que você quer, tente:

sudo lshw -C display

(também funciona sem sudo mas a informação pode ser menos completa / precisa)

Você também pode instalar o pacote lshw-gtk para obter uma GUI.

Esse tipo de informação não é padrão e as ferramentas que você usará para coletá-la variam amplamente.

Comando glxinfo fornecerá todas as informações OpenGL disponíveis para o processador gráfico, incluindo o nome do Fornecedor, Se os drivers estiverem instalados corretamente.

Para obter informações sobre a velocidade do relógio, não existe uma ferramenta padrão.

  • Para GPUs ATI / AMD executando o driver Catalyst antigo, aticonfig --odgc deve buscar as taxas de relógio, e aticonfig --odgt deve buscar os dados de temperatura. Não estou familiarizado com o AMDGPU-Pro, mas uma ferramenta semelhante deve existir.
  • Para GPUs NVIDIA, o nvidia-smi a ferramenta mostrará todas as informações que você deseja, incluindo velocidades de clock e estatísticas de uso.

Não estou ciente de uma ferramenta equivalente para os drivers de código aberto ou para Intel ou outras GPUs, mas outras informações sobre o hardware podem ser obtidas a partir do lspci e lshw ferramenta.

Uma postagem no blog com foco no trabalho realizado na linha de comando está aqui:

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

Descubra o ID do dispositivo:

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

Você pode então usar esta saída com lspci novamente, formando dois comandos aninhados

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

Se você tiver mais de 1 placa GPU, tente este comando equivalente:

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

Saída do meu 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: você pode evitar o <access denied> ao lançar com sudo

Entao, (prefetchable) [size=64M) indica que eu tenho uma placa NVIDIA de 64 MB. No entanto, eu não, é bastante 256 MB. Por quê? Abaixar.

Para ver como obter o máximo de informações e desempenho, leia um artigo extremamente abrangente sobre o Wiki Arch-Linux

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

Para usuários da nvidia, comecar

nvidia-smi

(Isso funciona com os drivers Nvidia instalados, mas não com sistemas que executam o driver 'nouveau' de código aberto).

Saida

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

Isso indica que tenho uma placa gráfica GDDR3 de 256 MB.

Neste momento, não sei como conseguir isso para GPUs Intel e AMD/ATI.

Executar google-chrome e navegue até o URL about:gpu.Se o chrome descobriu como usar o OpenGL, você obterá informações extremamente detalhadas sobre sua GPU.

Porque você especificou um comando como cat para CPU, isso é, portanto, o equivalente para GPU. especificamente para placas Nvidia. Não requer nenhum software, exceto o driver do dispositivo Nvidia para ser carregado.

O caminho aqui funciona para as cartas que tenho. Mas o seu pode diferir como outros apontaram nos comentários.

1ª 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

2ª 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 placas Nvidia, digite

nvidia-smi -q

clinfo

sudo apt-get install clinfoclinfo

é o análogo de glxinfo mas para OpenCL, minha configuração de GPU é descrita em: https://stackoverflow.com/questions/7542808/how-to-compile-opencl-on-ubuntu/33483311#33483311

Ubuntu 20.04 Configurações - & gt; Sobre

Você pode abrir as configurações clicando no menu superior direito, ou você pode simplesmente fazer:

  • Super key (também conhecido como chave do Windows)
  • Digite & quot;Sobre" e selecione a entrada

Então, sob & quot; gráficos & quot; Eu posso ver que o meu modelo GPU é & quot;Quadro M1200 / PCIe / SSE2 & quot;.

enter image description here

nvidia-configurações

Mistura o tempo de execução com algumas informações estáticas.

enter image description here

Mais detalhes: Como faço para verificar se o Ubuntu está usando Minha placa gráfica NVIDIA?

Eu acredito que a melhor opção para isso é neofetch.

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

Isso dá uma saída como esta:

Isso realmente não é tão complexo para modelo e memória, aqui está um forro 1 que funciona para cada placa de vídeo em que testei, independentemente do 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

ALIADO= Tudo o que este bit faz é pegar o 3º campo da saída 'lspci' filtrada via 'grep' para VGA, que corresponde ao chip de vídeo.

RAM= Tudo isso bit faz é Definir variável cardid igual ao primeiro campo de saída de lspci combinando " VGA " e alimenta isso como um pedido para -v saída detalhada de lspci para esse específico -s dispositivo, filtrando ainda mais a saída por grep para a string "prefetchable", pois contém a memória no próprio cartão (observe o espaço anterior, pois não queremos corresponder a" não prefetchable " em nossa saída.

Para taxa de clock em gráficos integrados Intel (testado em I3 e I5)

execute o comando sudo find /sys -type f -name gt_cur* -print0 | xargs -0 catIsso mergulha na árvore / sys para localizar o arquivo gt_cur_freq_mhzfile que no meu I3 é /sys/devices/pci0000:00/0000:00:02.0/drm/card0/gt_cur_freq_mhz e imprime o conteúdo. que no meu caso sob carga extremamente leve é 350 como em 350 MHz que corresponde à frequência mínima encontrada em /sys/devices/pci0000:00/0000:00:02.0/drm/card0/gt_min_freq_mhz e ao correr glxgears e glmark2 resultado 1050 como em 1050 MHz que corresponde à frequência máxima encontrada em /sys/devices/pci0000:00/0000:00:02.0/drm/card0/gt_max_freq_mhz

Para taxas de clock em placas nvidia:

nvidia-smi -stats -d procClk corresponde ao relógio da GPUnvidia-smi -stats -d memClk corresponde ao relógio de memória.

Nota: não consigo testar o acima, pois minha fiel GeForce 210 não é suportada e isso funciona apenas em Kepler ou GPUs mais recentes, conforme indicado por ' nvidia-smi-stats -- help '

Atualmente, Não tenho soluções para taxa de clock em placas AMD e não tenho o hardware disponível para teste. No entanto, direi que, para o melhor do meu conhecimento, o aticonfig mencionado na resposta aceita não existe mais e parece que nvclock não está disponível para nada desde trusty.

Tela inicial Conky ou Terminal

Eu uso dois métodos para exibir automaticamente as informações nVidia GPU e Intel iGPU:

  • Conky exibe dinamicamente as informações da GPU em tempo real
  • ~/.bashrc exibe informações da GPU cada vez que o terminal é aberto

Conky exibição em tempo real

Este exemplo usa o Conky para exibir estatísticas atuais da GPU (nVidia ou Intel) em tempo real. Conky é um monitor de Sistema leve popular entre muitos entusiastas do Linux.

A exibição muda dependendo se você inicializou depois prime-select intel ou prime-select nvidia.

Intel iGPU

gpu temp intel.gif

  • O Intel iGPU mostra como Skylake GT2 HD 530 iGPU com frequência atual
  • A frequência mínima é 350 MHz e o máximo é 1050 MHz

nVidia GPU

gpu temp nvidia.gif

  • A GPU nVidia mostra como GeForce GTX970M com frequência e temperatura atuais da GPU
  • A versão do Driver, O Estado P e a versão do BIOS são exibidos
  • A carga da GPU, o uso da RAM, O consumo de energia e a frequência da RAM são exibidos

Código Conky

Aqui está o script Conky relevante para Intel iGPU e 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 Tela inicial do Terminal

Este exemplo modifica ~/.bashrc para exibir informações em uma tela inicial cada vez que o terminal é aberto ou sempre que você digita . .bashrc no prompt do shell.

Além de neofetch respondido anteriormente, há screenfetch que parece muito melhor (IMO). Além disso, outra resposta menciona que ele não sabe como obter iGPU listado e isso faz isso:

ubuntu terminal splash.png

Para obter detalhes sobre a configuração, consulte: Terminal splash screen Com Tempo, Calendário, Tempo & Sysinfo?

Em resumo, apenas para a seção inferior com exibição Ubuntu contendo informações GPU (segunda última linha) Uso:

sudo apt install screenfetchscreenfetch

Você vai querer colocar o screenfetch comande uma parte inferior do seu ~/.bashrc arquivo para que ele apareça toda vez que você abrir o terminal.

@ CharlieParker ele gera informações da cpu…

o que faz: `cat / proc / cpuinfo ’ fazer? quais informações você está procurando?