← Back to all fixes
Disk full — no space left on device
The Issue
Writes fail with "No space left on device" but `df -h` shows only 60% used.
Root Cause
Inodes exhausted, not disk blocks. Each file uses one inode regardless of size. Thousands of tiny files (logs, temp files, mail queue) can exhaust inodes while disk space looks fine.
How to Fix
Check inodes: `df -i` — if IUse% is near 100%, inodes are the problemFind directories with most files: `find / -xdev -type f | cut -d "/" -f 2 | sort | uniq -c | sort -rn | head`Common culprits: /var/spool/mail, /var/log, /tmp — clean up old filesDelete old logs: `sudo journalctl --vacuum-time=7d` or `sudo find /var/log -name "*.gz" -delete`For actual disk full: find large files with `du -sh /* | sort -rh | head -20`