Fehlerbehebung

Git-Fehler unable to create thread Resource temporarily unavailable

Geprüft am 2 Min. Lesezeit Git Ressourcen

Der Fehler „unable to create thread: Resource temporarily unavailable“ bedeutet, dass das System keinen weiteren Thread erzeugen konnte. Er unterscheidet für sich allein nicht zwischen Speicher, Prozess- oder Thread-Limit, ulimit oder einer anderen Ressource.

Bewahren Sie den vollständigen Befehl, die Ausgabe und die Uhrzeit auf. Prüfen Sie Version und bestehende Konfiguration und gleichen Sie den Fehler mit PMEM, NPROC und den Snapshots unter Resource Usage ab:

git --version
git config --show-origin --get-regexp '^pack\.'
ulimit -u

Tritt er bei pack-objects auf, wiederholen Sie denselben Unterbefehl genau einmal und begrenzen Sie dabei Threads und Fenster für diese Ausführung:

git -c pack.threads=1 -c pack.windowMemory=100m SUBCOMANDO

Bei index-pack begrenzen Sie nur die Threads:

git -c pack.threads=1 SUBCOMANDO

Wenn der Test das Problem löst und Sie die Einstellung behalten müssen, setzen Sie sie nur für das Repository:

git config --local pack.threads 1
git config --local pack.windowMemory 100m

Setzen Sie für diesen Fehler nicht pack.packSizeLimit: Es begrenzt die Größe jeder Pack-Datei, nicht das Erzeugen von Threads, und kann größere und langsamere Repositorys erzeugen. Vermeiden Sie --global, solange Sie nicht nachgewiesen haben, dass alle Vorgänge im Konto es brauchen. Wenn der Fehler sogar mit einem Thread auftritt, kontaktieren Sie den Support mit Uhrzeit, Befehl und Messwerten.

Geltungsbereich und Rücknahme der Einstellung

Ersetzen Sie SUBCOMANDO durch den tatsächlichen Vorgang und seine Argumente; es ist ein Platzhalter, kein Git-Unterbefehl. Bevor Sie eine lokale Option speichern, notieren Sie, ob sie schon existierte und welchen Wert sie hatte. Stellen Sie sie nach dem Test wieder her; gab es sie vorher nicht, entfernen Sie nur diese lokale Option.

pack.windowMemory begrenzt das Fenster für die Suche nach Deltas, nicht den gesamten Speicher von Git. Weniger Threads können die Laufzeit verlängern und garantieren nicht, dass ein Prozesslimit eingehalten wird, das bereits von anderen Aufgaben belegt ist. Erscheint der Fehler mit dem Präfix remote:, prüfen Sie, ob ihn der entfernte Server erzeugt: Die lokale Konfiguration ändert dessen Umgebung nicht.

Das könnte Ihnen auch helfen

Stimmt etwas nicht oder hat sich etwas geändert? Erzählen Sie es uns, und wir prüfen es.