

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Solução de problemas de registros de trabalho ausentes no Slurm contabilidade
<a name="troubleshooting-missing-accounting-records"></a>

Os trabalhos executados até a conclusão estão ausentes nos relatórios Slurm contábeis, como a saída dos `sreport` comandos `sacct` ou. Os registros estão ausentes somente por uma janela de tempo limitada, normalmente uma que ocorre após um período de alta taxa de envio de trabalhos. Os relatórios contábeis são concluídos antes e depois dessa janela. Este tópico se aplica a clusters que têm a Slurm contabilidade ativada. Para obter mais informações sobre contabilidade, consulte[Contabilidade de favelas em AWS PEÇAS](slurm-accounting.md).

## Causa comum
<a name="troubleshooting-missing-accounting-records-cause"></a>

O daemon do Slurm controlador (`slurmctld`) não grava dados contábeis diretamente no banco de dados contábil. Ele envia os dados para o daemon (`slurmdbd`) do Slurm banco de dados por meio de uma fila interna na memória. A fila pode atingir seu tamanho máximo se os trabalhos forem enviados mais rapidamente do que os registros `slurmdbd` confirmados no banco de dados. Quando a fila estiver cheia, `slurmctld` descarta novas mensagens contábeis em vez de adicioná-las à fila.

As mensagens descartadas não são repetidas, portanto, o histórico de tarefas que elas carregavam está permanentemente ausente do banco de dados contábil. Somente os dados contábeis são afetados. O agendamento e a execução do trabalho continuam normalmente. Os registros que `slurmdbd` já foram confirmados permanecem no banco de dados. A contabilidade é retomada automaticamente quando a fila se esgota.

## Resolução
<a name="troubleshooting-missing-accounting-records-resolution"></a>

**Para confirmar a causa e reduzir a chance de recorrência**

1. Pesquise no `slurmctld` log do cluster entradas semelhantes às seguintes.

   ```
   error: agent queue is full (33794), discarding DBD_JOB_START:1425 request
   ```

   Cada entrada corresponde a uma mensagem contábil descartada. O tipo de mensagem identifica o registro que foi perdido, como`DBD_JOB_START`, `DBD_JOB_COMPLETE``DBD_STEP_START`, ou`DBD_STEP_COMPLETE`. Se o cluster não entregar registros do agendador, configure a entrega de registros. Isso permite confirmar a causa se a condição ocorrer novamente. Para obter mais informações, consulte [Logs do agendador no AWS PCS](monitoring_scheduler-logs.md).

1. Defina o `CommitDelay` parâmetro como `1` na configuração slurmdbd do cluster. Com essa configuração, `slurmdbd` agrupa as confirmações do banco de dados em vez de confirmar cada registro individualmente, o que aumenta a taxa na qual ele drena a fila. Use a `SlurmdbdCustomSettings` propriedade do cluster para aplicar a configuração. Para obter mais informações, consulte [Definindo configurações personalizadas do SlurmDBD em AWS PEÇAS](slurmdbd-custom-settings.md) e [CommitDelay](https://slurm.schedmd.com/slurmdbd.conf.html#OPT_CommitDelay) na Slurm documentação.
**Importante**  
`SlurmdbdCustomSettings`substitui as configurações slurmdbd do cluster em vez de adicioná-las. Qualquer configuração que você omitir da solicitação de atualização será removida. Se o cluster já tiver configurações slurmdbd, execute `aws pcs get-cluster` primeiro, adicione `{parameterName=CommitDelay,parameterValue="1"}` à lista recuperada e, em seguida, envie a lista completa.  
**Example — Configuração `CommitDelay` em um cluster**  

   ```
   aws pcs update-cluster --cluster-identifier {{my-cluster}} \
   --slurm-configuration \
   'SlurmdbdCustomSettings=[{parameterName=CommitDelay,parameterValue="1"}]'
   ```

1. Confirme se a configuração está correta. No Console de gerenciamento da AWS, veja Configurações ** adicionais do agendador ** para o cluster. No AWS CLI, execute o comando a seguir e verifique o `slurmConfiguration` campo da resposta.

   ```
   aws pcs get-cluster --cluster-identifier {{my-cluster}}
   ```

**nota**  
Registros contábeis `slurmctld` descartados não podem ser recuperados. Os trabalhos executados durante a janela afetada permanecem ausentes dos relatórios contábeis.

## Prevenção
<a name="troubleshooting-missing-accounting-records-prevention"></a>

Para detectar a saturação da fila enquanto ela acontece, em vez de encontrar registros ausentes posteriormente, entregue os registros no Amazon `slurmctld` Logs, no Amazon CloudWatch Simple Storage Service (Amazon S3) ou no Amazon Data Firehose e monitore-os em busca de entradas. `agent queue is full` Para obter mais informações, consulte [Logs do agendador no AWS PCS](monitoring_scheduler-logs.md).

Mantenha-se `CommitDelay` configurado `1` em clusters que executam cargas de trabalho com uma alta taxa de envio de trabalhos.