Solução de Problemas
Nesta seção:
Esta seção fornece soluções para problemas comuns encontrados por usuários do GridUnesp. Os problemas estão organizados por categoria para facilitar a consulta.
Dica
Antes de contatar o suporte, consulte esta seção. A maioria dos problemas já possui solução documentada.
Problemas de Acesso
Erro de Autenticação SSH
Sintoma: Ao tentar conectar, aparece “Permission denied” ou erro de autenticação.
Soluções possíveis:
Verifique suas credenciais
Teste de conexão com debugssh -vvv username@access.grid.unesp.br
Certifique-se de que está usando o username correto
Verifique se a senha está correta (sem Caps Lock)
Se esqueceu a senha, reset em: https://www.ncc.unesp.br/password-new/
Verifique a chave SSH do servidor
As chaves corretas do servidor access.grid.unesp.br são:
RSA: SHA256:X3iCb13fWj7u2Tvp/MCCpn0brfSNS5Ie6ehm6lsvPSQ ECDSA: SHA256:WVFokXOLnuH9+2e7xxRU2gp7XJqxwuE6H8bbUMqTCXo ED25519: SHA256:+HEvFMmo0EA6ipPMJSaj5+Q6IabebRN+nRD0nxdYrKQ
Se a chave no seu sistema não corresponder, remova a entrada antiga:
ssh-keygen -f "~/.ssh/known_hosts" -R "access.grid.unesp.br"
Verifique bloqueios de rede
Porta 22 (SSH) deve estar liberada
Firewalls corporativos podem bloquear
Redes com proxy podem necessitar configuração especial
Conexão Recusada (Connection Refused)
Sintoma: ssh: connect to host access.grid.unesp.br port 22: Connection refused
Causa provável: Bloqueio pelo sistema Fail2Ban após múltiplas tentativas de login com senha incorreta ou uso excessivo de SCP.
Solução:
Aguarde 15 minutos e tente novamente
Não tente repetidamente durante o bloqueio (reinicia o contador)
Se persistir, envie a saída do comando abaixo para o suporte:
ssh -vvv username@access.grid.unesp.br
Conexão Lenta ou Instável
Sintomas:
Comandos demoram para responder
Conexão cai frequentemente
Latência alta
Soluções:
Use compressão SSH:
ssh -C username@access.grid.unesp.br
Mantenha a conexão ativa:
Configuração no ~/.ssh/configHost access.grid.unesp.br ServerAliveInterval 60 ServerAliveCountMax 3Use screen ou tmux para sessões persistentes:
screen -S sessao_grid # Dentro do screen, faça o login normal # Para desconectar: Ctrl+A, depois D # Para reconectar: screen -r sessao_grid
Verifique sua conexão de internet (velocidade, latência, perda de pacotes)
Problemas com Jobs
Job em Estado PENDING por Muito Tempo
Sintoma: squeue mostra seu job com estado PD (Pending) por horas ou dias.
Causas possíveis:
Falta de recursos disponíveis
Verifique o estado do cluster:
sinfo # Visão geral dos nós squeue -r | wc -l # Total de jobs squeue -r -t PD | wc -l # Jobs pendentes
Recursos solicitados inviáveis
Verifique se você não solicitou mais do que o disponível:
Máximo de 52 CPUs por nó (nó de CPU)
Máximo de 88 CPUs no nó de GPU
Máximo de 30 dias de execução
Memória compatível com o solicitado
Prioridade baixa
O sistema utiliza política de Fair Share:
sprio -u $USER # Ver prioridade do seu job squeue -o "%.18i %.9Q %.8j %.8u %.10V %.6D %R" --sort=-p,i --states=PD
Partição incorreta
Verifique as partições disponíveis:
sinfo -o "%9P %5a %10l %6D %6t %N"
Soluções:
Aguarde (períodos de pico podem ter filas longas)
Reduza recursos solicitados (menos CPUs, menos tempo)
Submeta em horários de menor demanda (madrugada, finais de semana)
Divida em jobs menores (job array)
Job Falha Imediatamente
Sintoma: Job entra em execução mas falha em poucos segundos (estado F ou FAILED).
Diagnóstico:
Verifique o arquivo de saída:
cat slurm-JOBID.out tail -50 slurm-JOBID.out
Verifique o arquivo de erro (se especificado):
cat slurm-JOBID.err
Verifique o status detalhado:
scontrol show job JOBID
Problemas comuns e soluções:
Erro |
Causa |
Solução |
“INPUT is missing” |
Variável INPUT não definida |
Adicione |
“OUTPUT is missing” |
Variável OUTPUT não definida |
Adicione |
“command not found” |
Módulo não carregado |
Adicione |
“Permission denied” |
Arquivo sem permissão de execução |
|
“Segmentation fault” |
Erro no código ou memória insuficiente |
Aumente memória, debug código |
“Out of memory” |
Programa consumiu mais memória que o solicitado |
Aumente |
Job Cancelado (CANCELLED)
Sintoma: Job aparece como CANCELLED no histórico.
Causas:
TIMEOUT: Job excedeu o tempo solicitado
sacct -j JOBID --format=JobID,State,ExitCode,Elapsed,TimelimitSolução: Aumente
#SBATCH -tou otimize o código.Cancelamento manual:
Você pode ter cancelado com
scancel JOBIDAdministradores podem ter cancelado
Falha no nó de processamento:
Falha de hardware detectada
Nó reiniciado ou em manutenção
Solução: Resubmeta o job (será alocado em outro nó).
Uso excessivo no servidor access:
Jobs pesados executados no access são cancelados pelos administradores.
Solução: Sempre use
sbatchpara submeter aos nós de processamento.
Job com Erro de Biblioteca
Sintoma: “error while loading shared libraries” ou “cannot find -lname”.
Diagnóstico:
ldd ./seu_executavel # Mostra dependências
module list # Ver módulos carregados
Soluções:
Carregue o módulo correto:
module avail nome_parcial # Buscar biblioteca module load nome_bibliotecaConfigure LD_LIBRARY_PATH (se instalou localmente):
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HOME/local/lib
Recompile o programa com as bibliotecas corretas
Problemas de Compilação
Sintoma: Erros durante compilação com make, gcc, etc.
Soluções:
Verifique os compiladores disponíveis:
module avail gcc module avail intel
Carregue o compilador desejado:
module load gcc/9.3.0 # ou module load intel/2020Para aplicações MPI, carregue também o módulo MPI:
module load openmpi/4.0.1 # ou module load intel/mpi/2017Instale dependências faltantes:
Bibliotecas de desenvolvimento
Headers necessários
Configure flags de compilação adequadas:
CFLAGS="-O2 -march=native" ./configure --prefix=$HOME/local make make install
Problemas de Armazenamento
Sem Espaço em Disco
Sintoma: Erro “No space left on device” ou “Disk quota exceeded”.
Diagnóstico:
df -h /home # Espaço total em /home/
du -sh /home/$USER # Total usado pelo usuário
du -sh /home/$USER/* | sort -hr | head -20 # Maiores diretórios
# Verificar /store/ (se aplicável)
du -sh /store/$USER/* | sort -hr | head -20
Soluções:
Remova arquivos desnecessários:
rm slurm-*.out # Logs antigos rm -rf diretorios_temporarios/ # Diretórios temporários
Comprima arquivos grandes:
tar -czf resultados.tar.gz diretorio_resultados/ rm -rf diretorio_resultados/ # Após confirmar que o tar está OKTransfira dados importantes para seu computador local
Use /store/ para arquivos temporários grandes durante execução:
export SHARED_FS="true"
Aviso
Não há quotas de disco no GridUnesp, mas o espaço é compartilhado. O acúmulo excessivo prejudica todos os usuários.
Arquivos Desapareceram
Sintoma: Arquivos que estavam no diretório não são mais encontrados.
Causas possíveis:
Limpeza automática do /tmp/
Arquivos em
/tmp/dos nós são apagados após o jobCertifique-se de que usou
job-nannycom OUTPUT definido
Exclusão acidental
Comandos como
rm -rfpodem ter sido usados incorretamenteVerifique histórico de comandos com
history | grep rm
Falha no storage
Falhas de hardware podem causar corrupção/perda
O GridUnesp não possui backup automático
Perigo
O GridUnesp NÃO faz backup automático dos dados.
Dados perdidos por falha de hardware não podem ser recuperados.
Prevenção:
Mantenha backups de dados importantes em seu computador local
Use versionamento (git) para scripts e código
Transfira resultados críticos assim que o job terminar
Erro de Permissão
Sintoma: “Permission denied” ao acessar arquivos ou diretórios.
Diagnóstico:
ls -la arquivo # Ver permissões atuais
id # Ver seu UID/GID
Soluções:
Ajuste permissões:
chmod +r arquivo.dat # Adicionar leitura chmod +x script.sh # Adicionar execução chmod -R g+rw diretorio/ # Leitura/escrita para grupo
Verifique propriedade:
chown $USER:$USER arquivo # Tornar-se proprietário
Para compartilhar com colegas:
chmod g+rx diretorio/ # Grupo pode ler/executar chmod o-rwx diretorio/ # Outros não têm acesso
Problemas de Performance
Job Muito Lento
Sintoma: Job demora mais que o esperado para executar.
Causas e soluções:
Uso inadequado de recursos
Verifique se o job está usando todos os recursos solicitados:
sstat --format=JobID,MaxRSS,MaxVMSize,AveCPU -j JOBID.batch sstat --format=JobID,MaxRSS,MaxVMSize,AveCPU -j 23134.batch sstat --format=JobID,MaxRSS,MaxVMSize,AveCPU -j JOBID -a sstat --format=JobID,MaxRSS,MaxVMSize,AveCPU -j 23134 -a
Ajuste número de threads/processos no código
I/O intensivo
Muitas operações de leitura/escrita em disco
Considere usar
/tmp/(mais rápido) para arquivos temporáriosMinimize operações de I/O (leia uma vez, processe, escreva uma vez)
Gargalo de memória
Cache insuficiente, levando a swapping
Aumente memória disponível com
#SBATCH --mem=...
Código não otimizado
Use flags de otimização na compilação (
-O2,-O3)Revise algoritmos (complexidade, estruturas de dados)
Paralelize onde possível (OpenMP, MPI)
Concorrência com outros jobs
Recursos compartilhados (storage, rede) podem estar saturados
Tente executar em horários de menor demanda
Uso Excessivo de Memória (OOM)
Sintoma: Job é morto com “Out of Memory” ou “Killed”.
Diagnóstico:
sacct -j JOBID --format=JobID,ReqMem,MaxRSS,State
# ReqMem: memória solicitada
# MaxRSS: memória máxima realmente usada
Soluções:
Aumente a memória solicitada:
#SBATCH --mem=16G # 16 GB por nó # or #SBATCH --mem-per-cpu=4G # 4 GB por CPU
Otimize o uso de memória do programa:
Libere memória não utilizada
Processe em lotes (batch) em vez de tudo na memória
Use estruturas de dados mais eficientes
Reduza o problema (processe partes separadamente)
Use algoritmos com menor pegada de memória
Problemas com Módulos
Módulo Não Encontrado
Sintoma: “module: command not found” ou “module load nome” falha.
Soluções:
Verifique se o ambiente de módulos está inicializado:
which module module --version
Se não estiver disponível, o sistema pode estar com problema - contate o suporte.
Liste módulos disponíveis:
module avail # Todos os módulos module avail nome_parcial # Busca por nome parcial
Verifique se o módulo existe com o nome correto:
Case sensitive (OpenMPI ≠ openmpi)
Versões específicas (gcc/9.3.0 ≠ gcc)
Conflito entre Módulos
Sintoma: Ao carregar um módulo, outro é automaticamente descarregado.
Causa: Módulos incompatíveis entre si (ex: diferentes versões de MPI).
Soluções:
Use ambientes separados:
module purge # Descarrega todos module load openmpi/4.0.1 # Carrega apenas o necessário
Aviso
O script
job-nannyé reconhecido ao carregar o módulo gridunesp.Quando o usuário faz login no cluster, esse módulo é carregado automaticamente.
Caso tenha usado o comando
module purge, é preciso fazermodule load gridunesp
para que o
job-nannyesteja disponível.Ver seção Script job-nanny.
Verifique dependências:
module show nome_modulo # Mostra dependências e conflitosUse module swap para trocar versões:
module swap gcc gcc/9.3.0
Problemas com job-nanny
INPUT/OUTPUT Obrigatórios
Sintoma: Job cancelado com erro sobre INPUT/OUTPUT.
Causa: O script job-nanny exige a definição das variáveis de ambiente INPUT e OUTPUT.
Solução:
#!/bin/bash
#SBATCH -J meu_job
# Havendo mais de um entrada,
# separe os nomes por espaço em branco
export INPUT="dados_entrada.dat parametros.txt"
export OUTPUT="resultados_saida.dat logs/"
module load meu_software
job-nanny ./meu_programa
Uso de /store/ vs /tmp/
Sintoma: Job lento ou com problemas de espaço.
Solução: Escolha o local adequado:
export SHARED_FS="true" # Usa /store/
# ou
export LARGE_FILES="true" # Mesmo efeito
export SHARED_FS="false" # Usa /tmp/ (apenas para 1 nó)
Nota
Com múltiplos nós (-N >1), o uso de /store/ é automático e não pode ser alterado.
Problemas de Rede
Transferência Lenta
Sintoma: SCP/RSYNC muito lentos.
Soluções:
Use compressão:
scp -C arquivo.dat usuario@access.grid.unesp.br:~/
Use RSYNC (mais eficiente para diretórios):
rsync -avz diretorio/ usuario@access.grid.unesp.br:~/diretorio/
Compacte antes de transferir:
tar -czf dados.tar.gz diretorio/ scp dados.tar.gz usuario@access.grid.unesp.br:~/
Evite horários de pico. Utilize o período da noite ou fins de semana.
Falha na Transferência
Sintoma: Transferência interrompida no meio.
Soluções:
Use RSYNC (permite retomar):
rsync -avz --partial --progress arquivo.dat usuario@access.grid.unesp.br:~/
Divida arquivos grandes:
split -b 1G arquivo_grande.dat parte_ # Divide em partes de 1GB # Transfira as partes cat parte_* > arquivo_grande.dat # Remonta no destino
Use screen/tmux para evitar que a transferência morra ao fechar o terminal
Problemas Gerais
Comando Não Encontrado
Sintoma: “command not found” para comandos comuns.
Soluções:
Verifique o PATH:
echo $PATH which nome_comando
Comandos comuns podem não estar disponíveis - use caminho completo:
/usr/bin/nome_comando /bin/nome_comando
Instale localmente se for um programa específico. Ver seção Instalando Aplicações.
Shell Padrão
Sintoma: Prefere outro shell (zsh, fish, etc.) mas o padrão é bash.
Solução: Altere seu shell padrão:
chsh -s /bin/zsh # Exemplo para zsh
# Faça logout e login novamente
Nota
Nem todos os shells estão disponíveis. O padrão é bash.
Idioma do Sistema
Sintoma: Mensagens em inglês, prefere português.
Solução: Configure a variável de ambiente:
export LANG=pt_BR.UTF-8
export LANGUAGE=pt_BR
Para tornar permanente, adicione ao ~/.bashrc.
Quando Contatar o Suporte
Se após tentar as soluções acima o problema persistir:
Prepare as seguintes informações:
Descrição clara do problema
Seu username
IDs dos jobs (se aplicável)
Caminho completo dos scripts e arquivos
Conteúdo dos arquivos de log (slurm-JOBID.out)
Comandos executados e suas saídas
Tentativas de solução já realizadas
Envie para: support.ncc@unesp.br
Dica
Quanto mais completo for seu relato, mais rápida e precisa será a resposta.
Ver também
Perguntas Frequentes - Dúvidas comuns
Boas Práticas - Recomendações de uso
Contato - Canais de suporte