Esta página mostra-lhe como resolver problemas de VMs executadas no Compute Engine com GPUs anexadas.
Se estiver a tentar criar uma VM com GPUs anexadas e estiver a receber erros, reveja os artigos Resolução de problemas de erros de disponibilidade de recursos e Resolução de problemas de criação e atualização de VMs.
Resolva problemas de VMs de GPU com o NVIDIA DCGM
O NVIDIA Data Center GPU Manager (DCGM) é um conjunto de ferramentas para gerir e monitorizar GPUs de centros de dados da NVIDIA em ambientes de cluster.
Se quiser usar o DCGM para resolver problemas no seu ambiente de GPU, conclua o seguinte:
- Certifique-se de que está a usar o controlador da NVIDIA recomendado mais recente para o modelo de GPU associado à sua VM. Para rever as versões dos controladores, consulte o artigo Versões recomendadas dos controladores NVIDIA.
- Certifique-se de que instalou a versão mais recente do DCGM. Para instalar a versão mais recente, consulte o artigo Instalação do DCGM.
Diagnostique problemas
Quando executa um comando de diagnóstico dcgmi
, os problemas comunicados pela ferramenta de diagnóstico incluem passos seguintes para tomar medidas em relação ao problema. O exemplo seguinte
mostra o resultado acionável do comando dcgmi diag -r memory -j
.
{ ........ "category":"Hardware", "tests":[ { "name":"GPU Memory", "results":[ { "gpu_id":"0", "info":"GPU 0 Allocated 23376170169 bytes (98.3%)", "status":"Fail", ""warnings":[ { "warning":"Pending page retirements together with a DBE were detected on GPU 0. Drain the GPU and reset it or reboot the node to resolve this issue.", "error_id":83, "error_category":10, "error_severity":6 } ] } .........
No fragmento de saída anterior, pode ver que GPU 0
tem desativações de páginas pendentes causadas por um erro não recuperável.
O resultado forneceu o error_id
exclusivo e conselhos sobre a depuração do problema.
Para este exemplo de saída, recomenda-se que esgote a GPU e reinicie a VM. Na maioria dos casos, seguir as instruções nesta secção do resultado
pode ajudar a resolver o problema.
Abra um registo de apoio ao cliente
Se não conseguir resolver os problemas através das orientações fornecidas pelo resultado da execução de diagnóstico dcgmi
, pode abrir um registo de apoio técnico. Quando
abre um registo de apoio técnico, tem de facultar as seguintes informações:
- O comando que foi executado e o resultado devolvido.
Ficheiros de registo relevantes, como registos de diagnóstico e do motor do anfitrião. Para reunir os ficheiros de registo necessários, pode executar o script
gather-dcgm-logs.sh
.Para uma instalação predefinida em sistemas baseados no Debian e no RPM, este script encontra-se em
/usr/local/dcgm/scripts
.Para falhas de
dcgmi diag
, forneça os ficheiros de estatísticas dos plug-ins que falharam. O ficheiro de estatísticas usa a seguinte convenção de nomenclatura:stats_PLUGIN_NAME.json
.Por exemplo, se o plug-in
pcie
falhou, inclua o ficheiro com o nomestats_pcie.json
.Informações do sistema e estado do controlador da NVIDIA. Para recolher estas informações, pode executar o script
nvidia-bug-report.sh
. Se estiver a usar uma instância com GPUs Blackwell, siga o artigo Gere um relatório de erro da NVIDIA para GPUs Blackwell para obter um relatório de erro abrangente.A execução deste script também ajuda na depuração adicional se o problema for causado por outras dependências da NVIDIA e não por um erro no próprio DCGM.
Detalhes sobre as alterações recentes feitas ao seu ambiente antes da falha.
Xid messages
Depois de criar uma VM com GPUs anexadas, tem de instalar os controladores do dispositivo NVIDIA nas VMs com GPU para que as suas aplicações possam aceder às GPUs. No entanto, por vezes, estes controladores devolvem mensagens de erro.
Uma mensagem Xid é um relatório de erro do controlador NVIDIA que é impresso no registo do kernel ou no registo de eventos do sistema operativo para a sua VM Linux. Estas mensagens são
colocadas no ficheiro /var/log/messages
.
Para mais informações sobre as mensagens Xid, incluindo potenciais causas, consulte a documentação da NVIDIA.
A secção seguinte fornece orientações sobre o processamento de algumas mensagens Xid agrupadas pelos tipos mais comuns: erros de memória da GPU, erros do processador do sistema da GPU (GSP) e erros de acesso ilegal à memória.
Erros de memória da GPU
A memória da GPU é a memória disponível numa GPU que pode ser usada para o armazenamento temporário de dados. A memória da GPU está protegida com o código de correção de erros (ECC), que deteta e corrige erros de bit único (SBE) e deteta e comunica erros de bit duplo (DBE).
Antes do lançamento das GPUs NVIDIA A100, a desativação dinâmica de páginas era suportada. Para as versões de GPU NVIDIA A100 e posteriores (como a NVIDIA H100), é introduzida a recuperação do erro de remapeamento de linhas. O ECC está ativado por predefinição. A Google recomenda vivamente manter o ECC ativado.
Seguem-se erros comuns de memória da GPU e as respetivas resoluções sugeridas.
Mensagem de erro Xid | Resolução |
---|---|
Xid 48: Double Bit ECC |
|
Xid 63: ECC page retirement or row remapping recording
event |
|
Xid 64: ECC page retirement or row remapper recording
failure
Além disso, a mensagem contém as seguintes informações: Xid 64: All reserved rows for bank are remapped
|
|
Se receber, em conjunto, pelo menos duas das seguintes mensagens Xid:
Além disso, a mensagem contém as seguintes informações: Xid XX: row remap pending
|
|
Xid 92: High single-bit ECC error rate |
Esta mensagem Xid é devolvida depois de o controlador da GPU corrigir um erro corrigível e não deve afetar as suas cargas de trabalho. Esta mensagem Xid é meramente informativa. Não é necessária nenhuma ação. |
Xid 94: Contained ECC error |
|
Xid 95: Uncontained ECC error |
|
Erros do GSP
Um processador do sistema da GPU (GSP) é um microcontrolador que é executado em GPUs e processa algumas das funções de gestão de hardware de baixo nível.
Mensagem de erro Xid | Resolução |
---|---|
Xid 119: GSP RPC timeout |
|
Xid 120: GSP error |
Erros de acesso ilegal à memória
Os seguintes XIDs são devolvidos quando as aplicações têm problemas de acesso ilegal à memória:
Xid 13: Graphics Engine Exception
Xid 31: GPU memory page fault
Normalmente, os erros de acesso ilegal à memória são causados pelas suas cargas de trabalho que tentam aceder à memória que já foi libertada ou está fora dos limites. Isto pode ser causado por problemas como a anulação da referência de um ponteiro inválido ou uma matriz fora dos limites.
Para resolver este problema, tem de depurar a sua aplicação. Para depurar a sua aplicação, pode usar o cuda-memcheck e o CUDA-GDB.
Em alguns casos muito raros, a degradação do hardware pode fazer com que sejam devolvidos erros de acesso ilegal à memória. Para identificar se o problema está no seu hardware, use o
NVIDIA Data Center GPU Manager (DCGM).
Pode executar dcgmi diag -r 3
ou dcgmi diag -r 4
para executar diferentes níveis de cobertura e duração dos testes. Se identificar que o problema está relacionado com o hardware,
registe um caso junto do apoio ao cliente da nuvem.
Outras mensagens de erro Xid comuns
Mensagem de erro Xid | Resolução |
---|---|
Xid 74: NVLINK error |
|
Xid 79: GPU has fallen off the bus
Isto significa que o controlador não consegue comunicar com a GPU. |
Reinicie a VM. |
Reponha as GPUs
Alguns problemas podem exigir que reponha as GPUs. Para repor as GPUs, conclua os seguintes passos:
- Para VMs N1, G2 e A2, reinicie a VM executando
sudo reboot
. - Para VMs A3 e A4, execute
sudo nvidia-smi --gpu-reset
.- Para a maioria das VMs Linux, o executável
nvidia-smi
está localizado no diretório/var/lib/nvidia/bin
. - Para nós do GKE, o executável
nvidia-smi
encontra-se no diretório/home/kubernetes/bin/nvidia
.
- Para a maioria das VMs Linux, o executável
Se os erros persistirem após a reposição da GPU, tem de eliminar e recriar a VM.
Se o erro persistir após a eliminação e a recriação, apresente um registo ao apoio técnico do Google Cloud para mover a VM para o estágio de reparação.
O que se segue?
Reveja os tipos de máquinas com GPU.