

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Risoluzione dei problemi relativi ai record di lavoro mancanti in Slurm contabilità
<a name="troubleshooting-missing-accounting-records"></a>

I lavori completati non sono presenti nei report Slurm contabili, ad esempio l'output dei comandi `sacct` or`sreport`. I record sono assenti solo per un periodo di tempo limitato, in genere dopo un periodo in cui il tasso di invio dei lavori è molto elevato. I report contabili vengono completati prima e dopo tale finestra. Questo argomento si applica ai cluster in cui è abilitata la Slurm contabilità. Per ulteriori informazioni sulla contabilità, vedere[Contabilità Slurm in AWS 2 PEZZI](slurm-accounting.md).

## Cause comuni
<a name="troubleshooting-missing-accounting-records-cause"></a>

Il Slurm controller daemon (`slurmctld`) non scrive direttamente i dati contabili nel database di contabilità. Invia i dati al Slurm database daemon (`slurmdbd`) tramite una coda interna in memoria. La coda può raggiungere la dimensione massima se i lavori vengono inviati più `slurmdbd` velocemente dei record inviati al database. Quando la coda è piena, `slurmctld` elimina i nuovi messaggi contabili invece di aggiungerli alla coda.

I messaggi scartati non vengono ritentati, quindi la cronologia dei lavori trasmessi è permanentemente assente dal database contabile. Sono interessati solo i dati contabili. La pianificazione e l'esecuzione dei lavori proseguono normalmente. I record `slurmdbd` già salvati rimangono nel database. La contabilità riprende automaticamente quando la coda si esaurisce.

## Risoluzione
<a name="troubleshooting-missing-accounting-records-resolution"></a>

**Per confermare la causa e ridurre la possibilità di recidiva**

1. Cerca nel `slurmctld` registro del cluster voci simili alle seguenti.

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

   Ogni voce corrisponde a un messaggio contabile scartato. Il tipo di messaggio identifica il record che è andato perso, ad esempio`DBD_JOB_START`,`DBD_JOB_COMPLETE`, `DBD_STEP_START` o. `DBD_STEP_COMPLETE` Se il cluster non fornisce i log dello scheduler, configura la consegna dei log. Ciò consente di confermare la causa se la condizione si ripresenta. Per ulteriori informazioni, consulta [Registri dell'utilità di pianificazione in PCS AWS](monitoring_scheduler-logs.md).

1. Imposta il `CommitDelay` parametro su `1` nella configurazione slurmdbd del cluster. Con questa impostazione, `slurmdbd` raggruppa i commit del database anziché eseguire il commit di ogni record singolarmente, il che aumenta la velocità di esaurimento della coda. Usa la `SlurmdbdCustomSettings` proprietà del cluster per applicare l'impostazione. Per ulteriori informazioni, consulta [Configurazione delle impostazioni personalizzate di SlurMDBD in AWS 2 PEZZI](slurmdbd-custom-settings.md) e [CommitDelay](https://slurm.schedmd.com/slurmdbd.conf.html#OPT_CommitDelay) nella Slurm documentazione.
**Importante**  
`SlurmdbdCustomSettings`sostituisce le impostazioni slurmdbd del cluster invece di aggiungerle. Qualsiasi impostazione omessa dalla richiesta di aggiornamento viene rimossa. Se il cluster potrebbe già avere le impostazioni slurmdbd, esegui `aws pcs get-cluster` prima, aggiungile `{parameterName=CommitDelay,parameterValue="1"}` all'elenco recuperato, quindi invia l'elenco completo.  
**Example — Impostazione su un cluster `CommitDelay`**  

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

1. Conferma che l'impostazione sia attiva. In Console di gestione AWS, visualizza Impostazioni ** aggiuntive dello scheduler ** per il cluster. In AWS CLI, esegui il comando seguente e controlla il `slurmConfiguration` campo della risposta.

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

**Nota**  
I record contabili `slurmctld` scartati non possono essere recuperati. I lavori eseguiti durante la finestra interessata rimangono assenti dai report contabili.

## Prevenzione
<a name="troubleshooting-missing-accounting-records-prevention"></a>

Per rilevare la saturazione della coda mentre si verifica invece di trovare i record mancanti in un secondo momento, invia `slurmctld` i log ad Amazon Logs, Amazon CloudWatch Simple Storage Service (Amazon S3) o Amazon Data Firehose e monitorali per eventuali inserimenti. `agent queue is full` Per ulteriori informazioni, consulta [Registri dell'utilità di pianificazione in PCS AWS](monitoring_scheduler-logs.md).

`CommitDelay`Mantieniti aggiornato `1` sui cluster che eseguono carichi di lavoro con un elevato tasso di invio dei lavori.