Reaction score: 1,696
:-)your https://forums.FreeBSD.org/threads/80655/post-515437 was otherwise extraordinarily helpful.
From a comparison of these two:
- releng/13.0 https://cgit.freebsd.org/src/log/sbin/fsck_ffs/fsck.h?h=releng/13.0
- main https://cgit.freebsd.org/src/log/sbin/fsck_ffs/fsck.h?h=main
- Rewrite the disk I/O management system in fsck_ffs(8). … (2021-01-07)
Might this partly explain the (opening post) incident where 2,048 MB memory was insufficient to start the system? With added emphasis:
Several large data structures are allocated by fsck_ffs to track resource usage. Most but not all were deallocated at the end of checking each filesystem. This commit consolidates the freeing of all data structures in one place and adds one that had previously been missing. It is important to clean up these data structures as they can be large.
If the previous allocations have not been freed, fsck_ffs can run out of address space when many large filesystems are being checked. An alternative would be to fork a new instance of fsck_ffs for each filesystem to be checked, but we choose to free the small set of large structures to save the fork overhead.
Reminding myself, only 9.6 G used, but the unused space was relatively great (let's say, 104 G never used):