Como medir o uso da GPU?

78

O uso do topcomando nos terminais lista os processos, classificados pelo uso da CPU (e você pode alterá-lo para classificar por outro parâmetro)

Existe um equivalente para a GPU?

Esse sujeito está perguntando sobre a RAM usada pela GPU

xxjjnn
fonte
3
Dependendo disso, se você estiver usando um radeon, poderá usar o radeontop , para a nvidia há outra ferramenta, mas eu não tenho o nome em mãos.
Braiam

Respostas:

80
  • Para as GPUs da Nvidia, existe uma ferramenta nvidia-smi que pode mostrar o uso da memória, a utilização da GPU e a temperatura da GPU.
  • Para GPUs Intel, você pode usar as ferramentas intel-gpu-tools .
  • AMD tem duas opções

    1. fglrx (drivers de código fechado):

      aticonfig --odgc --odgt
      
    2. E para o mesa (drivers de código aberto), você pode usar o RadeonTop Instale através do centro de software .

Fonte: Monitoramento de uso da GPU

Mitch
fonte
41
Use watch nvidia-smipara atualizações em tempo real.
Lenar Hoyt
1
o aticonfig não funciona com SSH. Afirma que precisa de um servidor X em execução para funcionar (existe um em execução). No entanto, RadeonTop ( sudo apt-get radeontop) não funcionam com o fglrx (precisa de root). Viva! Infelizmente, o RadeonTop não fornece nenhuma leitura de temperatura.
Ken afiada
o aticonfig funcionará com SSH, mas um servidor X com o tcp ativado precisa estar em execução. Isso pode ser feito configurando o lightdm via xserver-allow-tcp=true. A pesquisa neste site com essas palavras-chave deve levar ao resultado.
HAL 9001
Não sei por que, mas watch -n 1 nvidia-smime deu atualizações em tempo real. watch nvidia-smitem um atraso de atualização de 2 segundos.
MarkRoxor #
1
sudo intel_gpu_topdeve fornecer atualizações em tempo real para o intel gpus.
George D
24

Nvidia: para atualizar continuamente a saída de nvidia-smi, você pode usar nvidia-smi --loop=1(intervalo de atualização de 1 segundo) ou nvidia-smi --loop-ms=1000(intervalo de atualização de 1000 milissegundos).

   -l SEC, --loop=SEC
       Continuously  report  query data at the specified interval, rather than
       the default of  just  once.   The  application  will  sleep  in-between
       queries.   Note  that on Linux ECC error or XID error events will print
       out during the sleep period if the -x flag was not specified.  Pressing
       Ctrl+C at any time will abort the loop, which will otherwise run indef‐
       initely.  If no argument is specified for the -l form a default  inter‐
       val of 5 seconds is used.

   -lms ms, --loop-ms=ms
       Same as -l,--loop but in milliseconds.

PARA SUA INFORMAÇÃO:

Franck Dernoncourt
fonte
21

Você pode usar gpustat, que é um script de linha de comando simples (wrapper para nvidia-smi) para consultar e monitorar o status da GPU:

insira a descrição da imagem aqui

Franck Dernoncourt
fonte
NOTA: Apenas para a Nvidia
Lennart Rolland
pip install gpustat
Shital Shah 17/09
15

Para Intel:

  1. Instale intel-gpu-tools (é provável que eles já estejam instalados)

    sudo apt-get install intel-gpu-tools 
    
  2. Inicie o toputilitário like com

    sudo intel_gpu_top
    
  3. Verifique suas estatísticas e saia com Ctrl+C

É isso que você recebe:

insira a descrição da imagem aqui

Obrigado @Mitch! :)

Thomas Venturini
fonte
12

Você pode usar os relances do programa de monitoramento com seu plug-in de monitoramento da GPU :

  • Código aberto
  • para instalar: sudo apt-get install -y python-pip; sudo pip install glances[gpu]
  • Lançar: sudo glances

insira a descrição da imagem aqui

Ele também monitora a CPU, E / S de disco, espaço em disco, rede e algumas outras coisas:

insira a descrição da imagem aqui

Franck Dernoncourt
fonte
Você também precisa fazerpip install nvidia-ml-py3
Paul Williams
Ele também funciona sem sudoe quando é instalado apenas para o usuário: pip install --user glances[gpu]e depois executa glances.
Ivan Kovtun
8

Conky

Eu gosto de usar conkycomo monitor em tempo real para CPU e GPU. A instalação é simples:

sudo apt install conky

Intel i7-6700HQ iGPU HD 530

Neste exemplo, eu inicializei usando a GPU integrada em vez da nVidia GTX 970M:

Intel GPU.gif

O conkycódigo se adapta dependendo se inicializado com prime-select intelou prime-select nvidia:

GPU nVidia GTX 970M

Neste exemplo, inicializei usando a nVidia GTX 970M em vez da GPU integrada:

nVidia GPU.GIF


Código Conky

O código conky foi modificado recentemente para detectar automaticamente a GPU. Agora, não precisa ser modificado manualmente ao reiniciar em uma GPU diferente:

#------------+
# Intel iGPU |
#------------+
${color orange}${hr 1}${if_existing /sys/class/drm/card0/gt_cur_freq_mhz}
${color2}${voffset 5}Intel® Skylake GT2 HD 530 iGPU @${alignr}${color green}
${execpi .001 (cat /sys/class/drm/card0/gt_cur_freq_mhz)} MHz
${color}${goto 13}Min. Freq:${goto 120}${color green}${execpi .001 (cat /sys/class/drm/card0/gt_min_freq_mhz)} MHz${color}${goto 210}Max. Freq:${alignr}${color green}${execpi .001 (cat /sys/class/drm/card0/gt_max_freq_mhz)} MHz
${color orange}${hr 1}${else}
#------------+
# Nvidia GPU |
#------------+
#${color orange}${hr 1}${if_match "${lsmod | grep nvidia_uvm}">""}
${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}

Versões diferentes da lista de códigos completa podem ser encontradas nestas respostas:

WinEunuuchs2Unix
fonte
Você poderia fornecer as etapas para instalar o conky e configurar o tema para ser como o seu exemplo da Nvidia, por favor?
Tak
@Tak Atualizei a resposta com instruções de instalação e links existentes para o código.
WinEunuuchs2Unix 8/07
6

Eu uso o seguinte comando:

nvidia-smi -l 2

e isso me atualiza a cada 2 segundos.

se parece com isso

Ou:

watch -n0.1 "nvidia-settings -q GPUUtilization -q useddedicatedgpumemory"

E na AMD, use:

aticonfig --odgc --odgt

insira a descrição da imagem aqui

Tshilidzi Mudau
fonte