Como obter as informações da GPU?

94

Estou procurando um comando que forneça as mesmas informações de:

cat /proc/cpuinfo 

Exceto pela GPU (tipo de chip e memória, frequência).

    
por user2413 09.10.2010 / 19:14

15 respostas

44

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

O comando glxinfo fornecerá a você todas as informações disponíveis do OpenGL para o processador gráfico, incluindo o nome do fornecedor, se os drivers estiverem instalados corretamente.

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

  • Para as GPUs ATI / AMD, aticonfig --odgc buscará as taxas de clock e aticonfig --odgt buscará os dados de temperatura.
  • Para GPUs NVIDIA, o programa nvclock buscará as mesmas informações.

Não conheço uma ferramenta equivalente para os drivers de código aberto ou para a Intel ou outras GPUs.

Outras informações sobre o hardware podem ser obtidas nas ferramentas lspci e lshw .

    
por greyfade 09.10.2010 / 19:30
94

Eu não sei de um equivalente direto, mas o lshw deve fornecer as informações que você deseja, tente:

sudo lshw -C display

(também funciona sem sudo , mas as informações podem ser menos completas / precisas)

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

    
por Marcel Stimberg 09.10.2010 / 19:31
49

Um post de blog focando no trabalho feito na linha de comando está aqui:

link

Descubra o ID do dispositivo:

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

Você pode usar essa saída com lspci novamente, formando dois comandos aninhados

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

Se você tiver mais de uma 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

EDIT: Você pode evitar o <access denied> iniciando com sudo

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

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

link

Para usuários da nvidia, comece com

nvidia-smi

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

Saída

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 eu tenho uma placa gráfica GDDR3 de 256 MB.

No momento, não sei como obter isso para as GPUs Intel e AMD / ATI.

    
por knb 19.12.2013 / 10:50
30

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

    
por Chris Uhlik 15.11.2012 / 08:35
17

Para cartões Nvidia.

1ª 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ª 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
    
por Matt H 01.04.2015 / 23:22
9

clinfo

sudo apt-get install clinfo
clinfo

é o análogo de glxinfo , mas para o OpenCL.

nvidia-settings

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

Mais detalhes: Como posso verificar se o Ubuntu está usando minha placa gráfica NVIDIA?

    
6

Para placas Nvidia, digite

nvidia-smi -q
    
por Quanlong 26.06.2017 / 07:48
5

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

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

Isso fornece uma saída como esta:

    
por HaoZeke 10.12.2017 / 17:37
3

Apenas para encontrar o básico, de acordo com o link ,

lspci | grep VGA

Se você precisar de mais detalhes do que isso, veja a resposta do do knb para essa mesma pergunta.

    
por mightypile 04.05.2017 / 23:11
3

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

GPU = 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 o que esse bit faz é definir variável cardid igual ao primeiro campo de saída de lspci correspondência "VGA" e alimenta isso como uma solicitação para -v de saída detalhada de lspci para esse dispositivo -s específico, filtrando ainda mais a saída em grep para a cadeia "prefetchable", pois ela contém a memória da própria placa (observe o espaço anterior, já que não queremos corresponder a "não" prefetchable "na nossa saída.

Para a taxa de clock nos gráficos integrados da Intel (testados em I3 e I5)

execute o comando sudo find /sys -type f -name gt_cur* -print0 | xargs -0 cat Isso mergulha na árvore / sys para localizar o gt_cur_freq_mhz arquivo que no meu I3 é /sys/devices/pci0000:00/0000:00:02.0/drm/card0/gt_cur_freq_mhz e imprime o conteúdo. o 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 executar glxgears e glmark2 resulta em 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 relógio em placas nvidia:

nvidia-smi -stats -d procClk corresponde ao clock da GPU nvidia-smi -stats -d memClk corresponde ao clock da memória.

Nota: Eu não posso testar o acima, já que a minha confiável GeForce 210 não é suportada e isso funciona apenas no Kepler ou nas GPUs mais recentes, conforme indicado por 'nvidia-smi -stats --help'

Atualmente, não tenho nenhuma solução para a taxa de clock nos cartões AMD e não tenho o hardware disponível para teste. No entanto, direi que, até onde sei, o aticonfig mencionado na resposta aceita não existe mais e parece que nvclock não está disponível para nada desde a confiança.

    
por Elder Geek 11.12.2017 / 14:52
2

Se você estiver executando o Ubuntu em um Chromebook com crouton, a única resposta que funcionará será chrome://gpu no navegador Google Chrome.

    
por k26dr 25.08.2015 / 19:55
1

Para o Intel GMA950 (vem com o EeePC em particular) você pode executar:

setpci -s 00:02.0 f0.b

que retornará '00' para 200MHz, '01' para 250MHz ou '03' para 400MHz. Você pode aplicar o mesmo princípio a outras placas Intel.

    
por user10872 15.02.2011 / 10:24
1

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

Para mais detalhes sobre a configuração, consulte: Como posso obter esse respingo do terminal? tela?

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

sudo apt install screenfetch
screenfetch

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

    
por WinEunuuchs2Unix 19.04.2018 / 01:05
1

Se você gostaria de ter informações simples, você poderia tentar gpustat . É muito bom e simples.

    
por Nufa 24.04.2018 / 03:43
1

Se você tem uma AMD Radeon Card, você pode querer executar os seguintes comandos

sudo update-pciids #optional command, requires internet
lspci -nn | grep -E 'VGA|Display'

Ele deve informar algo assim

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)
    
por Nerrve 27.05.2018 / 13:04