Download raw body.
Slow gotadmin cleanup
On Sun, Jul 26, 2026 at 01:50:40PM +0200, Christian Weisgerber wrote: > So I started a "gotadmin cleanup" on an instance of the FreeBSD ports > repository. > > $ gotadmin info > repository: /home/naddy/ports.git > hashing algorithm: sha1 > default author: Christian Weisgerber <naddy@FreeBSD.org> > remote "origin" (fetch): ssh://anongit@git.freebsd.org/ports.git > remote "origin" (send): ssh://git@gitrepo.freebsd.org/ports.git > pack files: 23 > packed objects: 7037127 > packed total size: 1.9G > loose objects: 3031 > loose total size: 42.4M > > After 33 hours it's still running. Coloring commits at snail's pace. > > PID USERNAME THR PRI NICE SIZE RES STATE C TIME WCPU COMMAND > 92384 naddy 1 138 0 1702M 1475M CPU0 0 31.9H 92.87% got-read-pack > 92378 naddy 1 13 0 4687M 1344M sbwait 3 223:03 11.13% gotadmin > > I stashed away a copy for some tests. git gc finished in 11 minutes > or so. Running gotadmin cleanup on that optimized copy then only > took an hour plus. gotadmin cleanup performance should be improved. But I'm afraid doing the work would require a bit more time than just issuing a quick fix. There could be a bug, but my first suspicion would be IPC overhead. Requesting individual objects one at a time from got-read-pack is quite slow when an operation needs a lot of objects to perform the task. For example, when gotd is enumerating commits, it is slow but doesn't take hours, and the relevant process is doing everything in its own address space.
Slow gotadmin cleanup