An inode is an internal entry the filesystem uses to track every file, directory, or symbolic link. When you hit the inode limit on shared hosting, you can't create new files — even if you still have plenty of disk space left.
What Exactly Is an Inode?
Every time you create a file — whether it's an image, a PHP script, an email message, or a cache entry — the operating system reserves an inode for it. That inode stores the file's metadata: owner, permissions, size, access timestamps, and the actual location of the data on disk.
The key point: inodes and disk space are separate resources. You can have 10 GB of free disk space and still be blocked if you've exhausted your inode quota.
Why Shared Hosting Plans Limit Inodes
In shared hosting, tens or hundreds of accounts coexist on the same server. If a single account accumulates millions of tiny files (logs, emails, cache files, PHP sessions), the server has to index all of them — slowing down the filesystem for every other user on the machine.
That's why shared hosting providers set an inode ceiling per account, typically between 100,000 and 500,000 inodes. When you hit it:
- Your website may stop working if it needs to create temporary files.
- WordPress and other CMSes fail to save posts, upload media, or update plugins.
- cPanel email (Dovecot) may refuse to receive new messages.
- Composer, npm, or pip installs fail because they can't write files.
How to Check Your Inode Usage
There are several ways to find out:
- cPanel: the main dashboard shows an "Inode Usage" summary alongside your disk space. Current count vs. limit appears right there.
- SSH / Terminal: if you have SSH access, run
find . | wc -lfrom your home directory to count all files, or usedf -ito see inode usage per partition. - Hosting support: if you don't have SSH, open a ticket. Any reputable provider can give you that number in seconds.
Where Inodes Accumulate: The 5 Usual Suspects
Before deleting anything, identify where they're coming from. These are the most common sources:
| Source | Typical inodes | Quick fix |
|---|---|---|
| Accumulated email (Inbox, Spam, Trash) | 1 per message | Empty spam/trash; archive or delete old mail |
| WordPress cache (caching plugins) | Tens of thousands | Clear cache via plugin or delete wp-content/cache/ |
PHP sessions (/tmp or sessions/) |
Thousands | Delete sess_* files older than 24 hours |
| Apache access and error logs | Variable (rotated) | Compress or delete old logs; enable automatic rotation |
| Old CMS installs or local backups | Tens of thousands | Delete old-version folders or local backup directories |
How to Free Up Inodes Step by Step
Follow this order to recover inodes quickly without deleting anything important:
- Empty email trash and spam. In your webmail client (Roundcube or Horde in cPanel), select all messages in Spam and Trash and permanently delete them. Each message is one inode.
-
Clear your WordPress cache.
If you use WP Super Cache, W3 Total Cache, LiteSpeed Cache, or a similar plugin, flush the full cache from its dashboard. With SSH access:
rm -rf ~/public_html/wp-content/cache/* -
Delete orphaned PHP sessions.
PHP sessions that haven't been cleaned up for months can accumulate thousands of files. Find the session directory for your account (often in
/tmpor the path set inphp.ini) and delete files older than one day. -
Remove old installs and local backups.
Do you have a folder called
wordpress-old/,site-backup-2023/, or similar? Directories like these — containing tens of thousands of files — are the most cost-effective targets to delete. -
Compress or archive large log files.
Apache logs can grow unchecked without active rotation. Compress older ones with
gzip access_log.2024-01(one compressed file = 1 inode instead of thousands of fragmented lines).
If you're still near the limit after all this, talk to your provider about raising the inode ceiling or evaluate a VPS plan, where you control your own filesystem limits. Browse our hosting comparisons to find a plan that scales with your project.
How to Avoid Hitting the Inode Limit Again
- Enable automatic cache cleanup. Most caching plugins have a timer to purge old files. Configure it.
- Manage email with IMAP and archiving. Don't let thousands of messages pile up on the server; download them to a local client or set up an auto-archive rule.
- Use an external email service. Migrating mail to Google Workspace, Zoho Mail, or Microsoft 365 removes all email inodes from your hosting account entirely.
- Uninstall inactive WordPress plugins and themes. Every plugin has dozens or hundreds of files. A leaner site uses far fewer inodes.
- Monitor your count periodically. Check your cPanel dashboard once a month to catch spikes before they become a crisis.
If your project is constantly growing — an online store with lots of media, a membership site with active sessions, or a system that generates files dynamically — it may be time to move to a plan with greater flexibility. The hosting experts at elenlace.com can help you choose the right hosting based on your project's real profile.
Key Takeaways
- An inode is the internal entry that tracks every file or folder; it has a limit separate from disk space.
- Shared hosting plans cap inodes (typically 100k–500k) to protect server performance for all users.
- The biggest consumers are accumulated email, CMS cache, PHP sessions, and local backups.
- Clearing spam/trash and WordPress cache usually recovers tens of thousands of inodes in minutes.
- To avoid hitting the limit again, automate cache cleanup and consider an external email service.
Need more inodes than your current plan allows, or want hosting that scales without surprises? Visit elenlace.com and find the plan that fits your site's real growth.
FAQ
Why am I hitting the inode limit when I still have disk space left?
Because inodes and disk space are completely separate resources. An inode is an entry in the filesystem table that records a file's existence. You can exhaust all inodes from many tiny files (emails, cache entries, sessions) even when each one takes up only a few kilobytes.
How do I find which folder uses the most inodes in cPanel without SSH?
Without SSH, a detailed per-directory count is difficult. The fastest option is to open a support ticket and ask for an inode usage report by directory. Some providers also surface this in the cPanel File Manager through advanced statistics tools.
Does deleting files free up inodes immediately?
Yes. As soon as you delete a file (and empty any trash if your file manager uses one), the inode is released immediately. There's no propagation delay and nothing to restart.
How many inodes does a typical WordPress install use?
A clean WordPress installation with around 10 active plugins and no accumulated cache uses roughly 15,000 to 30,000 inodes. With active caching plugins and no periodic cleanup, that number can exceed 200,000 within weeks on a moderately trafficked site.
Useful resources
Other providers and guides worth comparing: