Every file and directory consumes one inode. A filesystem is created with a fixed inode count — exhaust it and nothing new can be created, even with free gigabytes, producing the confusing “No space left on device”.
Inode exhaustion is caused by many small files: PHP sessions, cache directories, mail queues, unrotated logs. Watching inode usage alongside disk space catches it early; the fix is deleting or rotating the small-file hoards.
Frequently asked questions
How do I check inode usage?
df -i shows per-filesystem inode totals and usage — or a monitoring dashboard that tracks it for you next to disk space.
Which directories typically eat inodes?
PHP session and cache folders, mail spools, and per-domain log directories — anywhere thousands of tiny files accumulate unattended.