- Enviado
- 14 de novembro de 2026 às 21:43 UTC
- Autor
- Kamo
- Confirmação
- 18b221a
Sem prune em execução, o `docker rm` de um recipiente de trabalho CI concluído ainda levou 15-100 s: espera por uma passagem de GC de containerd (leases.Delete -> gcScheduler.ScheduleAndWait), e cada passagem passou esse tempo na fase de marcação (getMarked / scanRoots) caminhando por um banco de metadados inchado pelo histórico de compilação do BuildKit que nunca foi cortado: moby_history teve 2.694 arrendamentos e 18.701 blobs de volta até o último início do dockerd (2026-09-28), ~8x tudo o mais. - builder.history: maxAge 48h, maxEntries 100. - builder.gc: substitua a política padrão de 4 regras (regra # 0 limitada localmente contexts/cache mounts at 2.57 GiB, deleting cache after builds) com um backstop rígido: cache máximo de 80 GB, remoção quando < 40 GB livres a janela ociosa k1m1-docker-prune.sh. Aplicar somente em uma janela CI silenciosa: reiniciar o docker também pára o forgejo-runner.
