1. Introdução
Ao utilizar uma GPU no Ubuntu, é essencial monitorar seu status com precisão. Isso é particularmente importante em cargas de trabalho que envolvem deep learning ou renderização gráfica, onde compreender o uso da GPU e as versões dos drivers é obrigatório. Neste artigo, explicamos como usar o nvidia-smi, uma ferramenta de gerenciamento de GPUs NVIDIA, e apresentamos métodos para verificar informações da GPU no Ubuntu.
2. Verificando informações da GPU com nvidia-smi
nvidia-smi é uma ferramenta de linha de comando que permite monitorar a utilização, o uso de memória e outras informações detalhadas sobre GPUs NVIDIA. É especialmente útil ao observar a atividade da GPU em tempo real ou ao recuperar métricas detalhadas de utilização.
Uso básico
Você pode usar o comando a seguir para monitorar o uso da GPU e a utilização de memória em tempo real:
nvidia-smi --query-gpu=timestamp,name,utilization.gpu,utilization.memory,memory.used,memory.free --format=csv -l 1
Este comando recupera informações detalhadas, incluindo a utilização da GPU, uso de memória e memória disponível. A opção -l permite definir o intervalo de atualização em segundos.
Formato de exibição e saída para arquivo
Por padrão, os resultados são exibidos em formato de tabela, mas você pode exportá‑los como CSV para facilitar o processamento. Se desejar salvar as informações em um arquivo, especifique o destino usando a opção -f.
nvidia-smi --query-gpu=timestamp,name,utilization.gpu,utilization.memory,memory.used,memory.free --format=csv -l 1 -f /path/to/output.csv
Isso permite salvar logs de utilização da GPU e analisá‑los posteriormente.
3. Recuperando informações de processos com nvidia-smi
nvidia-smi também permite recuperar informações sobre os processos que estão usando a GPU no momento. Isso ajuda a identificar quanto recurso da GPU cada processo consome.
Obtendo informações de processos
Use o comando a seguir para visualizar o PID e o uso de memória dos processos que utilizam a GPU:
nvidia-smi --query-compute-apps=pid,process_name,used_memory --format=csv,noheader
Este comando devolve uma lista de processos ativos na GPU e exibe o uso de memória de cada um.
Subcomando nvidia-smi pmon
A ferramenta nvidia-smi inclui ainda o subcomando pmon, que fornece monitoramento detalhado de processos na GPU.
nvidia-smi pmon --delay 10 -s u -o DT
Ele exibe informações dos processos da GPU em intervalos especificados. A opção --delay define o intervalo de atualização em segundos, e você pode escolher quais informações serão mostradas.
4. Instalando e verificando drivers NVIDIA
Para usar uma GPU NVIDIA no Ubuntu, o driver NVIDIA correto deve estar instalado. Abaixo estão os passos para instalação e verificação.
Instalação do driver
Primeiro, instale o driver NVIDIA adequado para o seu sistema usando o comando a seguir:
sudo apt install nvidia-driver-510
Após a conclusão da instalação, reinicie o sistema.
Verificando a instalação
Depois de reiniciar, execute o comando a seguir para confirmar que o driver foi instalado corretamente:
nvidia-smi
Se a versão do driver e a versão do CUDA aparecerem, a instalação foi bem‑sucedida.

5. Verificando o funcionamento da GPU com TensorFlow
Você também pode validar a funcionalidade da GPU testando-a com o TensorFlow, um framework de aprendizado de máquina.
Instalando Anaconda
Primeiro, instale o Anaconda e configure seu ambiente:
bash ./Anaconda3-2022.05-Linux-x86_64.sh
conda update -n base conda
conda update anaconda
conda update -y --all
conda install tensorflow-gpu==2.4.1
Verificando o reconhecimento da GPU no TensorFlow
Em seguida, verifique se o TensorFlow reconhece a GPU:
from tensorflow.python.client import device_lib
device_lib.list_local_devices()
Se o dispositivo GPU aparecer na lista, o TensorFlow está detectando a GPU com sucesso.
6. Monitoramento e registro da GPU
nvidia-smi permite monitoramento em tempo real da GPU e gravação de logs. Isso ajuda a acompanhar o uso da GPU ao longo do tempo e a otimizar o desempenho.
Monitoramento Periódico
Para definir o monitoramento periódico, use a opção -l para especificar o intervalo de atualização e, opcionalmente, registre os dados em um arquivo:
nvidia-smi --query-gpu=timestamp,name,utilization.gpu,utilization.memory,memory.used,memory.free --format=csv -l 1 -f /var/log/gpu.log
Controle Programável via Bindings Python
nvidia-smi fornece bindings Python (nvidia-ml-py) que permitem recuperar informações da GPU programaticamente. Isso possibilita um monitoramento e controle mais personalizados a partir de scripts Python.
7. Conclusão
nvidia-smi é uma ferramenta poderosa para verificar e gerenciar o uso da GPU NVIDIA no Ubuntu. Este artigo explicou o uso básico, monitoramento de processos, instalação de drivers e verificação da GPU TensorFlow. Use essas técnicas para maximizar o desempenho da GPU e otimizar seu sistema.