btdu - a sampling disk usage profiler for btrfs (written in D)

Vladimir Panteleev thecybershadow.lists at
Mon Nov 9 12:52:12 UTC 2020

On Monday, 9 November 2020 at 12:21:55 UTC, user1234 wrote:
> I like the report about how D was efficienet to develop this 
> tool, otherwise
> what do you use it for ? What is the typical usage of such 
> tools ?

Well, the README and linked blog post answer that to some extent, 
but my personal use cases are actually tangential to D, so I can 
write more about that here.

I've been using btrfs on my home system ever since switching to 
Linux full-time, and a few years ago I switched over the server 
(hosting this forum / the wiki / some other services) to it too. 
This allowed us to have incremental, atomic, hourly, off-site 
backups, which actually saved our butts big-time when the hosting 
provider decided to shut off the server over a clerical issue in 
the distant year of 2019. Some snapshots are also retained for a 
while to allow rollbacks or undelete files in case I fat-finger 
something during maintenance.

One of btrfs's boons is that across subvolumes and clones, 
deduplication allows reusing the same unique block across many 
files and snapshots, which saves space but also what enables 
atomic snapshots to work (with successive writes being COW). If 
you add compression on top of that, it can be challenging to 
understand what is actually using how much space, and since 
storage costs are not insignificant on a FOSS budget, it does 
need to be managed, and I was missing a tool that would help do 
this. Another unique benefit of btdu is that it starts displaying 
results almost instantly, which is great when the disk is full 
causing everything to be on fire and you need to free up some 
disk space right now.

More information about the Digitalmars-d mailing list