<spool>set by the Hub
The default is 0, that is, there is no fuse.
The line stops accepting messages into this directory when free space on its file system drops below the threshold. As soon as space comes back, receiving resumes by itself — no intervention is needed.
On Unix the count is based on the space available to unprivileged users: the part of the file system reserved for the administrator is not included in this count.
The syntax requires a size multiplier: B, K, M, G or T.
Together with priority the line forms a layout of several directories: the priority decides which one is used first, and this threshold decides when it is time to move on to the next.
There is also an obsolete form of the same at the node level — spool-min-free-space.
The difference is significant. With a threshold the node answers the submitting side with a temporary refusal and keeps delivering what it has already accepted. Without a threshold it stops working entirely, and recovery has to be done by hand.
Why five percent. The threshold kicks in at about the same point where node monitoring already reports “bad” (95% used), while a human got a warning at 90%. The lower bound is needed for small nodes, the upper one so that a large disk does not reserve tens of gigabytes for nothing.
What this gives. The only node mechanism that heals itself: receiving stops, delivery continues, the queue shrinks, space is freed, receiving turns back on. Monitoring will warn during working hours — the threshold will trigger at night. Accounting records are protected too: with suppressed reports it is the only channel of information about delivery outcomes, and it lives on the same partition.
What to set. The threshold is calculated from what still has to work once receiving stops:
| Value | When |
|---|---|
| 0 (default) | never the right choice on a production node |
| 1G–5G | a shared partition: there must be enough space for accounting, the log and delivery of what has already been accepted |
| less | the spool is on a separate partition with nothing else on it |
As a guide, the remainder must be enough to deliver everything already in the queue and record it in accounting.
# fuse: receiving stops before the whole node runs out of space <spool /var/spool/pmta> min-free-space 2G</spool>
what people get wrong and how it ends3 mistakes▶
our experience
§ 3.3.2.4
§ 3.3.2.4
3 relations
grep -n -A4 '^<spool' /etc/pmta/config df -h /var/spool/pmta /var/log/pmta
3 articles
◇The activation key is a prerequisite for installation, not a step after itWithout an activation key from SparkPost support the engine neither installs nor runs, and the license tier sets the outbound connection ceiling: on Standard everything above 200 is ignored.◇Cloud restrictionsClouds restrict outbound mail on port 25 until you ask them to lift the limit, and mailbox providers treat their address ranges with suspicion.◇How to turn a sending plan into hardwareTwo constants for sizing any node: about 2 KB of memory per queued recipient and spool space proportional to the total size of the messages.