

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Behebung fehlender Jobdatensätze in Slurm Buchhaltung
<a name="troubleshooting-missing-accounting-records"></a>

Aufträge, die vollständig ausgeführt wurden, fehlen in den Slurm Buchhaltungsberichten, z. B. die Ausgabe der `sreport` Befehle `sacct` oder. Aufzeichnungen fehlen nur für ein begrenztes Zeitfenster, in der Regel eines Zeitfensters, das auf einen Zeitraum folgt, in dem die Anzahl der eingereichten Aufträge sehr hoch ist. Buchhaltungsberichte sind vor und nach diesem Zeitfenster vollständig. Dieses Thema bezieht sich auf Cluster, für die Slurm Accounting aktiviert ist. Weitere Informationen zur Buchhaltung finden Sie unter[Slurm-Buchhaltung in AWS 5 STCK](slurm-accounting.md).

## Häufige Ursache
<a name="troubleshooting-missing-accounting-records-cause"></a>

Der Slurm Controller-Daemon (`slurmctld`) schreibt Buchhaltungsdaten nicht direkt in die Buchhaltungsdatenbank. Er sendet die Daten über eine interne, speicherinterne Warteschlange an den Slurm Datenbank-Daemon (`slurmdbd`). Die Warteschlange kann ihre maximale Größe erreichen, wenn Jobs schneller übermittelt werden als Datensätze an `slurmdbd` die Datenbank übertragen werden. Wenn die Warteschlange voll ist, `slurmctld` werden neue Buchhaltungsnachrichten verworfen, anstatt sie der Warteschlange hinzuzufügen.

Verworfene Nachrichten werden nicht erneut versucht, daher fehlt der Auftragsverlauf, den sie übertragen haben, dauerhaft in der Buchhaltungsdatenbank. Nur Buchhaltungsdaten sind betroffen. Die Auftragsplanung und die Auftragsausführung werden normal fortgesetzt. `slurmdbd`Bereits festgeschriebene Datensätze verbleiben in der Datenbank. Die Abrechnung wird automatisch wieder aufgenommen, wenn die Warteschlange leer ist.

## Auflösung
<a name="troubleshooting-missing-accounting-records-resolution"></a>

**Um die Ursache zu bestätigen und die Wahrscheinlichkeit eines erneuten Auftretens zu verringern**

1. Durchsuchen `slurmctld` Sie das Protokoll des Clusters nach Einträgen, die den folgenden ähneln.

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

   Jeder Eintrag entspricht einer verworfenen Buchhaltungsmeldung. Der Nachrichtentyp identifiziert den Datensatz, der verloren gegangen ist, z. B.`DBD_JOB_START`, `DBD_JOB_COMPLETE``DBD_STEP_START`, oder. `DBD_STEP_COMPLETE` Wenn der Cluster keine Scheduler-Protokolle übermittelt, richten Sie die Protokollzustellung ein. Auf diese Weise können Sie die Ursache überprüfen, falls der Zustand erneut auftritt. Weitere Informationen finden Sie unter [Scheduler loggt sich in AWS PCS ein](monitoring_scheduler-logs.md).

1. Stellen Sie den `CommitDelay` Parameter `1` in der slurmdbd-Konfiguration des Clusters auf ein. Bei dieser Einstellung werden Datenbank-Commits `slurmdbd` gruppiert, anstatt jeden Datensatz einzeln festzuschreiben. Dadurch wird die Warteschlange schneller entleert. Verwenden Sie die `SlurmdbdCustomSettings` Eigenschaft des Clusters, um die Einstellung anzuwenden. Weitere Informationen finden Sie unter [Konfiguration benutzerdefinierter SlurmDBD-Einstellungen in AWS 5 STCK](slurmdbd-custom-settings.md) und [CommitDelay](https://slurm.schedmd.com/slurmdbd.conf.html#OPT_CommitDelay) in der Slurm Dokumentation.
**Wichtig**  
`SlurmdbdCustomSettings`ersetzt die slurmdbd-Einstellungen des Clusters, anstatt sie zu erweitern. Jede Einstellung, die Sie in der Aktualisierungsanforderung weglassen, wird entfernt. Wenn der Cluster möglicherweise bereits slurmdbd-Einstellungen hat, führen Sie ihn `aws pcs get-cluster` zuerst aus, fügen Sie ihn `{parameterName=CommitDelay,parameterValue="1"}` zur abgerufenen Liste hinzu und senden Sie dann die vollständige Liste ab.  
**Example — Einstellung `CommitDelay` auf einem Cluster**  

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

1. Vergewissern Sie sich, dass die Einstellung vorhanden ist. Sehen Sie AWS-Managementkonsole sich unter ** Zusätzliche Scheduler-Einstellungen ** für den Cluster an. Führen Sie in der AWS CLI den folgenden Befehl aus und überprüfen Sie das `slurmConfiguration` Feld der Antwort.

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

**Anmerkung**  
`slurmctld`Verworfene Buchhaltungsunterlagen können nicht wiederhergestellt werden. Jobs, die während des betroffenen Zeitfensters ausgeführt wurden, fehlen in den Buchhaltungsberichten.

## Prävention
<a name="troubleshooting-missing-accounting-records-prevention"></a>

Übermitteln Sie die `slurmctld` Protokolle an Amazon Logs, Amazon Simple Storage Service (Amazon S3) oder Amazon CloudWatch Data Firehose und überwachen Sie sie auf `agent queue is full` Einträge, um eine Überlastung der Warteschlangen zu erkennen, anstatt fehlende Datensätze später zu finden. Weitere Informationen finden Sie unter [Scheduler loggt sich in AWS PCS ein](monitoring_scheduler-logs.md).

`CommitDelay`Stellen Sie die Option `1` auf Cluster ein, auf denen Workloads mit einer hohen Rate an Auftragsübermittlungen ausgeführt werden.