Filesystem Utilization Calculator
Calculate filesystem block utilization percentage and flag warning, high and critical thresholds at 80%, 90% and 95%.
Inputs
Total 1K blocks as reported by df, or any consistent unit
Used
82.00%
Alert Level
Warning (≥80%)
Free
18.00%
Free Blocks
4,718,592
Blocks Until 80% Warning
0
Blocks Until 90% High
2,097,152
Blocks Until 95% Critical
3,407,872
Step by step
Values used
Total Blocks = 26,214,400; Used Blocks = 21,495,808
Utilization percentage
used% = used_blocks / total_blocks × 100
Used
= 82.00
Alert Level
= Warning (≥80%)
Free
= 18.00
Free Blocks
= 4,718,592
Blocks Until 80% Warning
= 0
Blocks Until 90% High
= 2,097,152
How it works
Filesystem utilization is simply used blocks divided by total blocks, matching the Use% column reported by `df`. Because filling a filesystem completely can cause application failures, database corruption, or an inability to even write new log entries, most monitoring conventions apply staged alert thresholds — a soft warning at 80%, a high-priority alert at 90%, and a critical/page-now alert at 95% — giving operators time to react before the filesystem is completely full.
Formula
Utilization percentage
used% = used_blocks / total_blocks × 100
Guides that use this calculator
Frequently Asked Questions
Why do monitoring tools warn at 80% instead of waiting until the disk is full?
Filesystems perform worse and fragment more as they approach full capacity, and many systems need free space for temp files, logs, and journaling even during normal operation — so 80% leaves a safety margin to investigate and remediate before things degrade further or writes start failing outright.
Why might df show 100% used even with some blocks reported free?
Most Linux filesystems reserve a small percentage of blocks (commonly 5% on ext4, via tune2fs -m) for the root user, so a non-root process can see 'no space left' before the raw block count hits zero.
Does this account for inode exhaustion?
No — a filesystem can report plenty of free blocks but still be unable to create new files if it has run out of inodes (common with filesystems storing huge numbers of tiny files); check inode usage with `df -i` separately.