Introduction
A full disk can break far more than uploads. Web servers, databases, PHP runtimes, and background jobs all rely on writable space for logs, caches, temporary files, and socket activity. Once a volume fills up, sites can start returning 500 errors, fail deployments, or lose the ability to write sessions. The fix is to identify which filesystem is full and remove the right pressure without damaging live data.
Symptoms
- The site suddenly returns 500 errors or partial failures without obvious code changes
- Uploads, cache writes, database operations, or session handling start failing
- Logs show no space left on device errors
- Deploys or backups stop completing successfully
- Restarting services helps little because the underlying storage remains exhausted
Common Causes
- Log files grew unexpectedly and consumed the available volume
- Temporary files, caches, or backups accumulated without rotation or cleanup
- A database or mail queue expanded until the partition filled
- Containers or build artifacts exhausted the host disk behind the application
- Monitoring focused on CPU and memory while storage usage quietly reached capacity
Step-by-Step Fix
- Identify which filesystem or mounted volume is full instead of assuming the whole server has no free space.
- Check logs and recent operational changes to determine what consumed the space, such as logs, backups, caches, uploads, or database growth.
- Free space safely from non-critical or reproducible data first, avoiding blind deletion of application files or live databases.
- Confirm that temporary directories, session paths, and log destinations used by the web server and application are writable again.
- Review database, backup, and queue storage if those services share the same exhausted volume.
- Restart only the affected services after the filesystem has enough headroom to recover normal write behavior.
- Re-run the action that failed, such as upload, page save, deployment, or request processing, and confirm the error no longer appears.
- Add monitoring and alerting for disk usage and inode consumption so storage pressure is visible before it becomes an outage.
- Follow up with retention, rotation, and cleanup policies so the same volume does not fill again from the same source.