- Verschickt
- 14. November 2026 um 21:43 UTC
- Autor
- Kamo
- Commit
- 18b221a
Ohne laufendes Prune dauerte der `docker rm` eines fertigen CI-Job-Containers immer noch 15-100 s: es wartet auf einen containerd GC Pass (Lease.Delete -> gcScheduler.ScheduleAndWait), und jeder Durchlauf verbrachte diese Zeit in der Markierungsphase (getMarked/scanRoots) Durchlaufen einer Metadaten-DB, die durch die BuildKit-Build-Historie aufgebläht wurde Das nie getrimmt wurde: moby_history hielt 2.694 Leases und 18.701 Blobs zurück Bis zum letzten angedockten Start (2026-09-28), ~8x alles andere. - builder.history: maxAge 48h, maxEntries 100. - builder.gc: Ersetzen Sie die Standard-4-Regel-Richtlinie (Regel # 0 beschränkt sich auf lokale Contexts/Cache mounts at 2.57 GiB, Cache löschen nach Builds) mit einem Hard-Backstop: max. 80 GB Cache, Beschneiden, wenn < 40 GB frei sind. Routinemäßige Bereinigung Das Idle-Fenster k1m1-docker-prune.sh. Nur in einem ruhigen CI-Fenster anwenden: Der Neustart des Dockers stoppt auch forgejo-runner.
