Disk Growth Estimator
Project when a disk volume will run out of space based on its current growth rate.
Inputs
Status
Projected to hit the alert threshold in 52.5 days.
Growth Rate (GB/day)
2.857
Current Utilization
60.00%
Days Until Alert Threshold
52.5
Days Until 100% Full
70
Step by step
Values used
Total Capacity (GB) = 500; Used Space Now (GB) = 300; Used Space N Days Ago (GB) = 280; Days Between Samples = 7; Alert Threshold (%) = 90
Days until full
days_until_full = (total_capacity − used_now) / growth_per_day
Status
= Projected to hit the alert threshold in 52.5 days.
Growth Rate (GB/day)
= 2.857
Current Utilization
= 60.00
Days Until Alert Threshold
= 52.50
Days Until 100% Full
= 70
How it works
By sampling used disk space at two points in time, this calculator derives a linear daily growth rate and projects forward to when the volume will cross an alert threshold (e.g. 90%, matching common Nagios/Prometheus disk-alert configs) and when it will be completely full. Linear extrapolation assumes growth rate stays constant — for volumes with bursty or seasonal growth (e.g. log rotation, batch jobs), treat this as a rough runway estimate and re-sample regularly rather than a hard deadline.
Formula
Days until full
days_until_full = (total_capacity − used_now) / growth_per_day
- T
- total capacity
- U_now
- space used now
- \Delta U / \Delta t
- growth per day from samples
Frequently Asked Questions
How many sample points should I use for an accurate forecast?
Two points give a linear trend, which is a reasonable first estimate, but disk growth is often non-linear (bursts from log rotation, batch jobs, or backups). For production capacity planning, sample daily for at least 2-4 weeks and fit a trend line, or feed the series into a monitoring tool's forecast function (e.g. Prometheus predict_linear).
Why alert at 90% instead of 100%?
Filesystems perform worse and become harder to safely clean up as they approach full — ext4's default reserved blocks aside, fragmentation increases and some operations (like large file writes or database checkpoints) can fail unpredictably near capacity. An earlier threshold buys time to add capacity or clean up before an outage.
What if my growth rate is negative?
Negative growth (shrinking usage) means cleanup or log rotation is outpacing new data — the calculator reports 'stable or shrinking' with no full-disk ETA, since linear extrapolation of a negative trend toward zero isn't a meaningful capacity risk.