Hostxpeed
Login Get Started →
Troubleshooting

How to Find What's Filling Disk

5 min read
28 views
Jun 10, 2026

Quick Diagnostic Commands

1. Overall Disk Usage

df -h
df -h --total

2. Directory Sizes

Find largest directories:

sudo du -sh /* 2>/dev/null | sort -hr | head -10

Drill into a specific directory:

sudo du -sh /var/* | sort -hr | head -10
sudo du -sh /home/* | sort -hr | head -10

Interactive Tools

ncdu (best for exploration)

sudo apt install ncdu -y
sudo ncdu /

Disk Usage Analyzer (GUI - local use)

For mounted remote drives via SSHFS.

Find Specific Types of Files

Files larger than 100MB

sudo find / -type f -size +100M -exec ls -lh {} ; 2>/dev/null | awk '{print $5, $9}' | sort -hr | head -20

Old files (modified > 30 days ago)

sudo find / -type f -mtime +30 -exec ls -lh {} ; 2>/dev/null | head -20

Log files

sudo du -sh /var/log/* | sort -hr | head -10

Database files

sudo du -sh /var/lib/mysql/* 2>/dev/null
sudo du -sh /var/lib/postgresql/* 2>/dev/null

Temporary files

sudo du -sh /tmp/*
sudo du -sh /var/tmp/*

Monitor Disk Changes in Real Time

sudo iotop -o
watch -n 5 "df -h /"

Track Largest Files Over Time

sudo find / -type f -exec du -b {} + 2>/dev/null | sort -rn | head -20 > /tmp/disk_usage_baseline.txt

sudo find / -type f -exec du -b {} + 2>/dev/null | sort -rn | head -20 > /tmp/disk_usage_current.txt

diff /tmp/disk_usage_baseline.txt /tmp/disk_usage_current.txt

💡 Set up monitoring with df -h in a cron job to alert you before disk fills.

Was this article helpful?