Disk usage troubleshooting du and df Disk Usage Cheat Sheet banner

du and df Disk Usage Cheat Sheet

Use df, du and find to check full partitions, inode usage, large directories, big files and common hosting disk problems.

Start here

Check filesystem usage with df

Human readable disk usage

df -h

Filesystem type

df -hT

Specific path

df -h /home

Inode usage

df -ih

Check directory usage with du

Current folder summary

du -sh .

Everything in current folder

du -sh * | sort -h

One level under /home/user

du -h --max-depth=1 /home/user | sort -h

Top largest directories

du -xhm /home/user | sort -nr | head

Find large files

Files over 500MB

find /home/user -type f -size +500M -exec ls -lh {} \;

Large logs

find /home/user -type f -name "*.log" -size +100M -exec ls -lh {} \;

Large backups

find /home/user -type f \( -name "*.zip" -o -name "*.tar.gz" -o -name "*.sql" \) -exec ls -lh {} \;

Sort by size

find /home/user -type f -size +100M -printf "%s %p\n" | sort -nr | head

Check inode usage

Filesystem inode usage

df -ih

Count files in directory

find /home/user -xdev -type f | wc -l

Many tiny files

find /home/user -type f | sed 's#/[^/]*$##' | sort | uniq -c | sort -nr | head
A partition can be full because it ran out of inodes even when there is free disk space.

Logs, cache and temporary files

Large cPanel user logs

du -sh /home/user/logs/* | sort -h

Large cache folders

du -h --max-depth=2 /home/user/public_html | grep -i cache | sort -h

Old logs

find /home/user/logs -type f -name "*.log" -mtime +30 -ls

Tmp usage

du -h --max-depth=1 /tmp | sort -h

Hosting support recipes

Top accounts by disk

du -sh /home/* 2>/dev/null | sort -h | tail

Largest public_html folders

du -sh /home/*/public_html 2>/dev/null | sort -h | tail

Check mail disk usage

du -sh /home/user/mail/* 2>/dev/null | sort -h

Check MySQL dumps

find /home/user -type f -name "*.sql" -exec ls -lh {} \;

Safety tips

  • Use ls, du and find -ls before deleting anything.
  • Be careful with cache directories. Some applications regenerate them, some do not.
  • Do not delete active database files or mail files unless you know exactly what they are.
  • Use --max-depth to avoid drowning in output.
Disk workflows

du and df workflows for disk investigations

Filesystem usage

df -h

Top level directory sizes

du -xhd1 / | sort -h

Find large files

find / -xdev -type f -size +500M -exec ls -lh {} \; 2>/dev/null

Check inodes

df -ih
FAQ

Frequently Asked Questions

What is the difference between du and df?

df shows filesystem usage. du shows directory or file usage.

How do I check disk space in human readable format?

Use df -h.

How do I find large directories?

Use du -xhd1 PATH | sort -h.

What are inodes?

Inodes track filesystem objects. A disk can run out of inodes even if space remains.