cPanel Hosting

Disk Usage Analysis in cPanel – Finding What Fills Quota

How to find what's actually filling your cPanel disk quota - the built-in tools, common culprits like backup folders and log files, and what to safely delete.

5 min read

You’re at 95% of your disk quota. The next backup will fail; uploads may be rejected; email starts bouncing. cPanel’s quota meter shows the headline number but not WHERE the space went — and the answer is rarely intuitive. This guide covers the tools for finding actual disk usage, the directories that commonly fill up unexpectedly, and what’s safe to delete.

Quick overview from cPanel

cPanel sidebar (left side or bottom on mobile) shows summary stats including disk usage. For a breakdown:

  • cPanel → Files → Disk Usage — built-in tree view showing space per folder.
  • Click any folder to see sizes of its contents. Drill in to find the heavy hitters.

This tool isn’t perfect — it groups some system folders together and doesn’t always show recent changes immediately. Good first stop though.

Common culprits

Email storage

Mailboxes can quietly grow to dozens of GB. Each email account counts against your total disk usage. Where it lives:

  • ~/mail/yourdomain.com/mailbox/cur/ — current emails per account.
  • ~/mail/yourdomain.com/mailbox/.Trash/ — deleted emails (still on disk until trash is purged).
  • ~/mail/yourdomain.com/mailbox/.Sent/ — sent folders.

To check email usage: cPanel → Email Accounts → look at the quota meter per account. Large accounts visible at a glance.

Cleanup: have users empty Trash and Junk folders. Set up retention policies that auto-delete mail older than X days. See email quota cleanup.

Backup folders

Many WordPress backup plugins (UpdraftPlus, BackWPup, Duplicator) store backups locally by default. Each backup can be hundreds of MB or more. Over months, this adds up fast.

  • ~/public_html/wp-content/updraft/
  • ~/public_html/wp-content/backups/ or similar
  • ~/backups/ — your own scripted backups

Check these folders. Delete old backups; configure plugin to store fewer copies locally OR upload to S3/Google Drive instead of local. JetBackup at the server level handles backups without using your quota.

Log files

error_log files accumulate if errors are firing repeatedly:

  • ~/public_html/error_log — PHP errors for main site.
  • ~/public_html/subfolder/error_log — per-folder error logs.
  • ~/logs/ — server-level logs.

Any error_log file is safe to delete. PHP recreates it next time it has something to log. But fix the underlying error too — otherwise it’ll be huge again next month. Error log debugging.

Cache directories

  • ~/public_html/wp-content/cache/ — WordPress page cache.
  • ~/public_html/wp-content/litespeed/ — LiteSpeed Cache.
  • Theme cache, plugin cache, image cache.

These regenerate automatically. Safe to delete to free space — just expect a temporary performance hit while cache rebuilds.

Media uploads

~/public_html/wp-content/uploads/ — WordPress media library. Typically the largest WordPress folder.

Don’t delete arbitrary files here — they’re linked from posts. To clean up legitimately:

  • Use WordPress’s media library: unused images may be flagged by plugins like Media Cleaner.
  • Convert large PNGs to WebP — significant savings.
  • Remove thumbnail sizes you don’t use (Settings → Media; then delete generated thumbnails for older posts via plugin).

Database

cPanel’s Disk Usage tool counts databases as part of your account size. Heavy WooCommerce sites with years of order data, or sites with extensive logging plugins, can have multi-GB databases.

Optimize tables:

  • cPanel → phpMyAdmin → select database → check all tables → “Optimize table” from dropdown.
  • Cleans up after deletes; reclaims fragmented space.

WordPress-specific cleanup with plugins like WP-Optimize:

  • Remove post revisions (auto-revisions accumulate forever).
  • Clean spam and trashed comments.
  • Remove orphaned transients.
  • Delete expired sessions.

Finding large files via SSH

If you have SSH access, much faster than clicking through Disk Usage:

# Top 20 largest folders in your home directory
du -sh ~/* | sort -hr | head -20

# Top 20 largest files
find ~ -type f -exec du -h {} + 2>/dev/null | sort -hr | head -20

# Files over 100 MB
find ~ -type f -size +100M -exec ls -lh {} ;

# Files modified in last 30 days (might reveal recent growth)
find ~ -type f -mtime -30 -size +10M -exec ls -lh {} ;

Five minutes with SSH usually identifies the problem.

What’s safe to delete vs. don’t touch

Safe to delete

  • error_log files anywhere.
  • Old backup files (after verifying you have JetBackup or other off-site backup).
  • Cache folder contents (wp-content/cache, wp-content/litespeed, etc.).
  • Old log files in ~/logs/.
  • Files in ~/tmp/ that aren’t actively in use.
  • Email Trash and Junk folders.
  • Stale session files in ~/php_sessions/ older than a week.

Risky — verify first

  • Files in wp-content/uploads/ — may be linked from posts.
  • Database tables — only delete tables you know aren’t used.
  • Anything in public_html you don’t recognize — could be active code.

Don’t touch

  • System directories: ~/etc, ~/.cpanel, ~/.ssh.
  • WordPress core files (wp-admin/, wp-includes/, wp-config.php).
  • Email message files inside cur/ folders (delete via webmail or mail client, not the file system).

Increasing quota vs. cleaning up

If you’ve cleaned up reasonable bloat and still hit quota, time to upgrade. Cleanup is appropriate when:

  • Email Trash hasn’t been emptied in years.
  • Backup folders have hundreds of old backups.
  • Error logs are gigabytes from a problem you didn’t know about.

Upgrade is appropriate when:

  • Site has grown legitimately — more posts, more uploads, more customers.
  • Cleanup recovers a few hundred MB but you still hit limits weekly.
  • You need to keep more email history online.

iWebVault client area → Services → upgrade plan. Upgrade guide.

Preventing recurrence

  • Configure WordPress backup plugins to keep only 2-3 local copies, upload rest to cloud storage.
  • Limit WordPress post revisions: add define('WP_POST_REVISIONS', 5); to wp-config.php.
  • Set mailbox quotas at creation — prevents single account from filling everything.
  • Empty email Trash regularly (or auto-purge via mail client setting).
  • Monitor disk usage monthly — catches creep before it’s emergency.

Common questions

“Disk Usage tool shows old totals.” cPanel rescans periodically, not in real-time. Force a rescan: cPanel → Files → Disk Usage → click “Refresh” if available. Else wait 1-4 hours.

“I deleted files but quota didn’t drop.” Email trash purge can be delayed. Mailbox quotas sometimes rebuild slowly. Wait 24 hours. Or open a ticket; we can trigger immediate quota recalculation.

“Database shows large but my site doesn’t have much data.” Likely revisions, transients, or spam comments. WP-Optimize plugin cleans most of these.

“Disk usage seems to grow every day even though I haven’t uploaded anything.” Either log files accumulating (error happening repeatedly) or backups running on schedule. Investigate.

What’s next

Disk usage problems are usually one of three things: email accumulation, backup folders, or log files. Check those three first; clean them up; you’ve recovered most of the quota. Then look at the rest if needed.

Was this helpful?