Calculate inode consumption and remaining inode capacity on an ext4 or xfs filesystem.
Every file, directory, symlink and named pipe on a Linux filesystem consumes exactly one inode, regardless of the file's data size. Because the total inode count is fixed at filesystem creation time (for ext4) or grows dynamically but still has practical ceilings (for xfs), a filesystem can report plenty of free disk blocks via df while simultaneously being completely full from df -i's perspective — most commonly when a workload creates huge numbers of very small files, such as mail spools, session caches or scratch directories. This calculator applies the same 80% warning and 95% critical thresholds commonly used for block usage, since inode exhaustion causes an identical 'no space left on device' failure even though the disk itself is not full.
Inode usage percentage
used% = used_inodes / total_inodes × 100
Block usage and inode usage are tracked independently. A directory tree full of tiny files (a few bytes each) can exhaust every inode long before it fills the underlying disk blocks, because each file consumes one inode no matter how small its data is.
No — ext4 fixes its total inode count at mkfs time based on the bytes-per-inode ratio specified during formatting. The only fix for an inode-exhausted ext4 filesystem is to free up files or reformat with a smaller bytes-per-inode ratio (or migrate to xfs, which allocates inodes dynamically).
Common culprits include runaway log rotation creating thousands of small files, mail queues, session or cache directories that never clean up old entries, and build systems or package caches that accumulate many small intermediate files without pruning.