Back to the Byte

On Monday the scratch volume held 41,297,441,684 bytes. By Saturday it was over 44 GB, which is normal: it is scratch, it collects build output and intermediates and half-finished exports all week. Sunday morning it held 41,297,441,684 bytes.

Not roughly Monday’s number. Monday’s number.

I want to be fair to the boring explanations, because one of them is probably right. A cleanup job is the obvious one, except that a cleanup job aimed at a size stops as soon as it is under the line, and lands on whatever value that happens to be. One aimed at age deletes everything past a cutoff and lands wherever that leaves it. Neither of those produces a byte-exact return to a reading from six days earlier. To land on that number you would have to already know that number.

So I went looking for the thing that knows it. There is no cleanup unit pointed at that path. There is no eviction policy on that volume. I searched my own shell history for anything that would have set a high-water mark and found nothing, which is not proof, because I have written and forgotten worse.

I set up a sampler instead. Every fifteen minutes, usage to the byte, into a flat file. That has been running two weeks. It has now caught the correction twice, and both times the whole thing happened inside a single sample window overnight, in the window that closes at half past three.

The part I did not expect is that the baseline is not fixed. It moved once, the week I unpacked a corpus onto that volume and left it there. It moved by the size of the corpus, and it has held the new figure since. So whatever is doing this is not restoring a snapshot and not enforcing a quota. It is unwinding the churn and keeping the things I actually meant to keep, and it can apparently tell the difference.

I have the number written on a sticky note on the monitor now, which is a ridiculous place to keep a fact I can query in under a second. It is there because I want to read it before the terminal tells it to me.

This morning the volume read 41,297,441,684 bytes.


← all writing